Logo Diendantinhoc.vn

Hướng dẫn thiết lập SSH trên máy tính cá nhân

Nguyễn Thị Lan

Thiết lập máy chủ SSH (Secure Shell) cho phép bạn kết nối và quản lý máy tính từ xa một cách an toàn. Bài viết này sẽ hướng dẫn chi tiết cách cài đặt và cấu hình SSH trên hệ điều hành Linux (cụ thể là Ubuntu) và macOS, đồng thời trang bị các biện pháp bảo mật cần thiết.

Các bước chính để thiết lập SSH: Cài đặt gói OpenSSH, cấu hình file sshd_config, tạo và sử dụng SSH keys thay cho mật khẩu, đổi cổng SSH mặc định và thiết lập danh sách IP cho phép truy cập.

Kiểm tra và cài đặt SSH trên Ubuntu

Trước tiên, cần xác định xem SSH đã được cài đặt trên hệ thống của bạn hay chưa. Bạn có thể kiểm tra sự tồn tại của tệp cấu hình SSH.

Để cài đặt SSH client và server trên Ubuntu, bạn sử dụng các lệnh sau:

sudo apt install openssh-client

sudo apt install openssh-server

Sau khi cài đặt, bạn cần khởi động dịch vụ SSH daemon (sshd) trên máy chủ Linux:

sudo systemctl enable --now sshd

Cấu hình máy chủ SSH (sshd_config)

Tất cả các tùy chỉnh cấu hình cho máy chủ SSH đều nằm trong tệp /etc/ssh/sshd_config. Để đảm bảo an toàn, hãy sao lưu tệp cấu hình gốc trước khi thực hiện bất kỳ thay đổi nào:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

Sau khi chỉnh sửa, bạn nên chạy lệnh sau để kiểm tra cú pháp tệp cấu hình:

sudo sshd -T -f /etc/ssh/sshd_config

Mỗi khi thực hiện thay đổi, bạn cần khởi động lại dịch vụ sshd để áp dụng:

sudo systemctl restart sshd

Minh họa cấu hình SSH server
Quá trình cấu hình SSH server yêu cầu chỉnh sửa tệp sshd_config để tăng cường bảo mật.

Các biện pháp bảo mật quan trọng khi thiết lập SSH

Để bảo vệ máy chủ SSH khỏi truy cập trái phép, bạn nên áp dụng các biện pháp sau:

1. Sử dụng SSH key thay cho mật khẩu

Việc sử dụng SSH key là một phương pháp bảo mật hiệu quả hơn nhiều so với việc sử dụng mật khẩu. Đầu tiên, trên máy client (máy bạn muốn kết nối đi), hãy tạo một cặp khóa SSH nếu bạn chưa có:

ssh-keygen -t rsa -b 4096

Lệnh này sẽ tạo ra một cặp khóa RSA được mã hóa, bao gồm khóa công khai (~/.ssh/id_rsa.pub) và khóa riêng tư (~/.ssh/id_rsa). Bạn sẽ được yêu cầu đặt một cụm mật khẩu (passphrase) cho khóa riêng tư để tăng cường bảo mật.

Tiếp theo, sao chép khóa công khai lên máy chủ SSH. Sử dụng lệnh ssh-copy-id để thêm khóa vào tệp ~/.ssh/authorized_keys trên máy chủ:

ssh-copy-id -i <$PUBLIC_KEY_PATH> <$USERNAME_ON_HOST>@<$HOST_IP>

Ví dụ: ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

Để bắt buộc sử dụng SSH key và vô hiệu hóa xác thực bằng mật khẩu, chỉnh sửa tệp /etc/ssh/sshd_config trên máy chủ và đặt PasswordAuthentication no.

2. Sử dụng cụm mật khẩu (Passphrase) cho SSH key

Luôn đặt một cụm mật khẩu mạnh cho khóa SSH của bạn. Điều này đảm bảo rằng ngay cả khi khóa riêng tư bị lộ, kẻ tấn công vẫn cần mật khẩu để sử dụng nó.

3. Thay đổi cổng SSH mặc định

Theo quy ước, SSH sử dụng cổng 22. Việc thay đổi sang một cổng khác (ví dụ: 43689) sẽ giúp giảm thiểu các cuộc tấn công tự động dò quét cổng mặc định.

Trong tệp /etc/ssh/sshd_config, bỏ ghi chú dòng #Port 22 và sửa thành:

Port 43689

Cấu hình cổng SSH
Thay đổi cổng SSH mặc định là một biện pháp tăng cường bảo mật hiệu quả.

4. Sử dụng danh sách IP cho phép (Allow List)

Bạn có thể giới hạn quyền truy cập SSH chỉ cho các địa chỉ IP cụ thể. Bằng cách sửa đổi các dòng ListenAddress trong /etc/ssh/sshd_config, bạn có thể chỉ định các địa chỉ IP được phép kết nối:

ListenAddress 0.0.0.0

ListenAddress 192.168.1.10

ListenAddress 192.168.1.11

Việc này chỉ cho phép các địa chỉ IP đã liệt kê kết nối đến máy chủ SSH.

5. Vô hiệu hóa đăng nhập root

Tuyệt đối không cho phép đăng nhập trực tiếp bằng tài khoản root qua SSH. Thay vào đó, hãy đăng nhập bằng tài khoản người dùng thông thường và sử dụng sudo khi cần quyền quản trị. Đặt PermitRootLogin no trong /etc/ssh/sshd_config.

6. Bật ghi log chi tiết

Kích hoạt chế độ ghi log chi tiết (verbose logging) để dễ dàng theo dõi và phát hiện các hoạt động bất thường.

LogLevel VERBOSE

Thiết lập SSH trên macOS

macOS thường đã được cài đặt sẵn SSH client. Bạn có thể kiểm tra bằng cách mở Terminal và gõ lệnh ssh. Để kích hoạt SSH server trên macOS, bạn vào System Settings > General > Sharing và bật tùy chọn Remote Login.

Bật Remote Login trên macOS
Kích hoạt tính năng Remote Login để sử dụng SSH server trên macOS.

Tương tự như Ubuntu, bạn có thể sử dụng ssh-keygen để tạo SSH key và ssh-copy-id để chuyển khóa lên máy chủ khác.

Kết nối SSH từ client

Sau khi đã thiết lập máy chủ SSH, bạn có thể kết nối đến nó từ máy client bằng lệnh:

ssh <$USERNAME_ON_HOST>@<$HOST_IP> -p <$PORT>

Ví dụ: ssh [email protected] -p 43689

Nếu bạn đã cấu hình SSH key và passphrase, hệ thống sẽ yêu cầu bạn nhập passphrase cho khóa SSH.

Kết nối SSH thành công
Giao diện Terminal sau khi kết nối SSH thành công.

Thiết lập SSH là một kỹ năng cơ bản nhưng cực kỳ quan trọng đối với các nhà phát triển và quản trị viên hệ thống. Bằng cách tuân thủ các bước hướng dẫn và áp dụng các biện pháp bảo mật, bạn có thể tạo ra một môi trường làm việc từ xa an toàn và hiệu quả. Hãy bắt đầu thiết lập SSH cho máy tính của bạn ngay hôm nay để khai thác tối đa tiềm năng của nó!

Chia sẻ bài viết:
Nguyễn Thị Lan

Nguyễn Thị Lan

TS. Nguyễn Thị Lan có hơn 18 năm nghiên cứu chuyên sâu về học máy và xử lý ngôn ngữ tự nhiên. Bà đã dẫn dắt nhiều dự án AI quốc gia và công bố trên 40 bài báo tại các hội nghị hàng đầu. Hiện bà là cố vấn công nghệ cho nhiều doanh nghiệp công nghệ Việt Nam.

Bình luận