Giới thiệu
SSH (Secure Shell) là một giao thức mạng giúp người dùng kết nối và quản lý máy chủ từ xa một cách an toàn. Thay vì sử dụng mật khẩu dễ bị đánh cắp, SSH hỗ trợ cơ chế xác thực bằng SSH Key, giúp tăng cường bảo mật.
SSH Key là một cặp khóa mã hóa gồm:
- Public Key (khóa công khai): Có thể chia sẻ công khai, dùng để mã hóa dữ liệu.
- Private Key (khóa riêng tư): Phải được giữ bí mật tuyệt đối, dùng để giải mã thông tin và xác thực quyền truy cập.
Bất kỳ ai có được Private Key của bạn đều có thể đăng nhập vào server mà không cần mật khẩu. Do đó, việc bảo vệ Private Key là cực kỳ quan trọng, trong khi Public Key có thể tự do chia sẻ để cấu hình xác thực trên server.
Các bước cài đặt và cấu hình SSH Key trên Ubuntu 24.04
- Bước 1: Kiểm tra SSH đã được cài đặt trên Ubuntu chưa
ssh -V

Nếu chưa có, cài đặt bằng lệnh
sudo apt update
sudo apt install openssh-client
- Bước 3: Tạo SSH Key trên máy client
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
-t rsa
: Chọn loại thuật toán RSA-b 4096
: Độ dài khóa 4096 bit-C
: Ghi chú hoặc email

Sau khi tạo, bạn sẽ có
~/.ssh/id_rsa
: Private key~/.ssh/id_rsa.pub
: Public key
- Bước 4: Copy SSH Public Key lên máy chủ Ubuntu 24.04
ssh-copy-id -p port username@remote_server_ip

- Bước 5: Cấu hình file SSH trên server
sudo nano /etc/ssh/sshd_config
Bật các dòng dưới đây bằng cách bỏ dấu #
ở phía trước

PubkeyAuthentication yes
: cho phép đăng nhập bằng SSH KeyAuthorizedKeysFile .ssh/authorized_keys
: Chỉ định đường dẫn chứa file public key được phép đăng nhập.PasswordAuthentication no
: không cho phép đăng nhập bằng mật khẩu
- Bước 6: Khởi động lại SSH
sudo systemctl restart ssh
- Bước 7: Kiểm tra kết nối SSH không dùng mật khẩu
ssh -p port username@remote_server_ip

Kết luận
Cấu hình SSH Key trên Ubuntu 24.04 giúp bạn đăng nhập vào máy chủ một cách an toàn, nhanh chóng và tiện lợi hơn nhiều so với dùng mật khẩu. Nếu bạn là người quản trị hệ thống hoặc lập trình viên thường xuyên làm việc với server, đây là kỹ năng bắt buộc phải có.