SSH (Secure Shell)

Cách dùng SSH để quản lý server từ xa

Dưới đây là hướng dẫn chi tiết hơn về cách sử dụng SSH để quản lý server từ xa, bao gồm cài đặt, cấu hình, bảo mật và các lệnh hữu ích.

1. Giới thiệu về SSH

SSH (Secure Shell) là một giao thức mạng bảo mật giúp bạn kết nối và quản lý server từ xa. SSH sử dụng mã hóa để bảo vệ dữ liệu truyền tải, đảm bảo không ai có thể đọc hoặc chỉnh sửa dữ liệu trong quá trình truyền.

SSH thường được sử dụng để:

  • Quản lý server Linux từ xa.
  • Chạy lệnh trên server.
  • Chuyển tệp giữa máy tính cá nhân và server.
  • Thiết lập đường hầm bảo mật cho các kết nối khác.

2. Cài đặt SSH trên server

a. Kiểm tra SSH đã được cài đặt chưa

Trước tiên, hãy kiểm tra xem SSH đã được cài đặt trên server chưa bằng lệnh:

which sshd

Nếu không có kết quả, bạn cần cài đặt SSH.

b. Cài đặt SSH trên Linux

– Trên Ubuntu/Debian:

sudo apt update
sudo apt install openssh-server

– Trên CentOS/RHEL:

sudo yum install openssh-server

– Trên Arch Linux:

sudo pacman -S openssh

c. Khởi động dịch vụ SSH

Sau khi cài đặt, bạn cần khởi động SSH và thiết lập để nó tự chạy khi khởi động hệ thống.

– Khởi động SSH:

sudo systemctl start ssh

– Kiểm tra trạng thái:

sudo systemctl status ssh

– Thiết lập SSH tự động khởi động:

sudo systemctl enable ssh

3. Kết nối đến server bằng SSH

Sau khi cài đặt và khởi động SSH trên server, bạn có thể kết nối từ máy tính cá nhân bằng lệnh:

ssh username@server_ip

Ví dụ:

Nếu server sử dụng cổng SSH khác (không phải mặc định 22), bạn có thể kết nối bằng:

ssh -p 2222 [email protected]

Khi đăng nhập lần đầu, bạn sẽ thấy thông báo xác nhận danh tính server, nhấn yes để tiếp tục.

4. Sử dụng khóa SSH để bảo mật hơn

Mặc định, SSH yêu cầu nhập mật khẩu để xác thực. Tuy nhiên, bạn có thể sử dụng cặp khóa SSH để tăng cường bảo mật.

a. Tạo cặp khóa SSH

Trên máy tính cá nhân, chạy lệnh sau để tạo khóa SSH:

ssh-keygen -t rsa -b 4096

Sau đó, bạn sẽ thấy thông báo:

Enter file in which to save the key (/home/user/.ssh/id_rsa):

Nhấn Enter để lưu khóa tại vị trí mặc định.

b. Sao chép khóa SSH lên server

Dùng lệnh sau để sao chép khóa công khai vào server:

ssh-copy-id username@server_ip

Hoặc nếu SSH đang chạy trên cổng khác:

ssh-copy-id -p 2222 username@server_ip

Nếu lệnh trên không có sẵn, bạn có thể làm thủ công:

cat ~/.ssh/id_rsa.pub | ssh username@server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Sau khi hoàn tất, bạn có thể đăng nhập mà không cần nhập mật khẩu:

ssh username@server_ip

5. Cấu hình SSH để tăng cường bảo mật

a. Tắt đăng nhập bằng mật khẩu

Mở file cấu hình SSH trên server:

sudo nano /etc/ssh/sshd_config

Tìm dòng sau và chỉnh sửa:

PasswordAuthentication no

Sau đó khởi động lại SSH:

sudo systemctl restart ssh

b. Đổi cổng SSH mặc định

Thay đổi cổng mặc định để giảm thiểu tấn công:

Port 2222

Sau đó khởi động lại SSH:

sudo systemctl restart ssh

c. Chỉ cho phép người dùng cụ thể kết nối

Trong file /etc/ssh/sshd_config, thêm dòng:

AllowUsers admin user1

6. Các lệnh SSH hữu ích

a. Chạy lệnh trên server từ xa

ssh username@server_ip "command"

Ví dụ:

ssh [email protected] "df -h"

b. Sao chép file giữa máy tính cá nhân và server

  • Sao chép từ máy cá nhân lên server:
scp file.txt username@server_ip:/home/username/
  • Sao chép từ server về máy cá nhân:
scp username@server_ip:/home/username/file.txt .
  • Sao chép cả thư mục:
scp -r folder username@server_ip:/home/username/

c. Chạy ứng dụng đồ họa từ xa

Nếu bạn cần chạy ứng dụng có giao diện, sử dụng -X:

ssh -X username@server_ip

Sau đó chạy ứng dụng như:

firefox

d. Tạo đường hầm SSH (SSH Tunneling)

Nếu bạn muốn chuyển tiếp cổng từ server về máy cá nhân:

ssh -L 8080:localhost:80 username@server_ip

Câu lệnh trên cho phép truy cập cổng 80 trên server thông qua cổng 8080 trên máy cá nhân.

7. Kết luận

Sử dụng SSH để quản lý server từ xa là một phương pháp hiệu quả và bảo mật. Bằng cách thiết lập SSH đúng cách, bạn có thể dễ dàng truy cập server, quản lý hệ thống và truyền tệp một cách an toàn.

Theo dõi SysAdmin Skills để xem thêm các bài viết hay, các mẹo hoặc các cách giải quyết issue thường gặp trong thực tế.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *