Cách cài đặt SSH Keys trên Ubuntu 20.04

Những điểm chính

 

  • Hiểu quy trình cài đặt SSH Keys trên Ubuntu 20.04 chỉ với 4 bước: tạo khóa, sao chép khóa công khai, xác thực bằng SSH Key và vô hiệu hóa đăng nhập bằng mật khẩu.

 

  • Biết cách sao chép SSH Key bằng nhiều phương pháp khác nhau như ssh-copy-id, SSH hoặc thủ công.

 

  • Tăng cường bảo mật máy chủ bằng cách chỉ cho phép đăng nhập thông qua SSH Key.
  • Kiểm tra và xác nhận quá trình cấu hình đã hoàn tất thành công.

 

Bước 1: Tạo SSH Key trên máy tính

 

Trước tiên, bạn cần tạo một cặp khóa SSH trên máy tính (client). Thực hiện lệnh:


 
ssh-keygen
 

Nếu muốn kiểm tra phiên bản OpenSSH đang sử dụng, chạy:


 
ssh -V
 

Mặc định, các phiên bản OpenSSH mới sẽ tạo khóa ed25519. Nếu muốn sử dụng RSA với độ dài khóa lớn hơn, bạn có thể tạo bằng lệnh:


 
ssh-keygen -t rsa
 

Sau khi thực hiện, hệ thống sẽ yêu cầu bạn chọn vị trí lưu khóa:


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

Nhấn Enter để lưu vào thư mục mặc định hoặc nhập đường dẫn khác nếu muốn.

 

Nếu khóa đã tồn tại, hệ thống sẽ hỏi có ghi đè hay không:


 
Overwrite (y/n)?
 

Chỉ chọn y nếu bạn không còn sử dụng cặp khóa cũ.

 

Tiếp theo, bạn có thể thiết lập passphrase để tăng thêm một lớp bảo mật cho khóa riêng tư.

 

Sau khi hoàn tất, hệ thống sẽ tạo hai tệp:

 

  • id_rsa hoặc id_ed25519: khóa riêng tư (Private Key).

 

  • id_rsa.pub hoặc id_ed25519.pub: khóa công khai (Public Key).

 

Đến đây, bạn đã tạo thành công cặp SSH Keys và có thể chuyển khóa công khai lên máy chủ.

 

Bước 2: Sao chép Public Key lên Ubuntu Server

 

Có nhiều cách để đưa khóa công khai lên máy chủ Ubuntu, trong đó ssh-copy-id là phương pháp nhanh và đơn giản nhất.

 

Sử dụng ssh-copy-id

 

Chạy lệnh:


 
ssh-copy-id username@remote_host
 

Nếu đây là lần đầu kết nối tới máy chủ, bạn sẽ nhận được thông báo xác thực host. Chỉ cần nhập:


 
yes
 

Sau đó nhập mật khẩu tài khoản trên server. Công cụ sẽ tự động thêm khóa công khai vào file authorized_keys.

 

Khi xuất hiện thông báo:


 
Number of key(s) added: 1
 

nghĩa là quá trình sao chép đã thành công.

 

Sao chép bằng SSH

 

Nếu máy không có ssh-copy-id, bạn có thể dùng lệnh:


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

Lệnh này sẽ tự động tạo thư mục .ssh (nếu chưa có) và thêm khóa công khai vào file authorized_keys.

 

Sao chép thủ công

 

Trong trường hợp không thể sử dụng hai cách trên, bạn có thể hiển thị nội dung khóa công khai:


 
cat ~/.ssh/id_rsa.pub
 

Sau đó đăng nhập vào máy chủ và thêm nội dung này vào cuối file:


 
~/.ssh/authorized_keys
 

Nếu thư mục .ssh chưa tồn tại, hãy tạo trước:


 
mkdir -p ~/.ssh
 

Sau đó chỉnh lại quyền truy cập:


 
chmod -R go= ~/.ssh
 

Nếu đang cấu hình cho một tài khoản khác, hãy đảm bảo thư mục thuộc đúng chủ sở hữu bằng lệnh:


 
chown -R username:username ~/.ssh
 

Sau khi hoàn thành bước này, máy chủ đã có khóa công khai và sẵn sàng xác thực bằng SSH Key.

 

Bước 3: Đăng nhập bằng SSH Key

 

Bây giờ bạn chỉ cần kết nối tới máy chủ bằng lệnh:


 
ssh username@remote_host
 

Nếu đây là lần đầu kết nối, hệ thống sẽ yêu cầu xác nhận fingerprint của máy chủ. Nhập yes để tiếp tục.

Nếu khóa riêng tư không đặt passphrase, bạn sẽ đăng nhập ngay lập tức. Ngược lại, hệ thống sẽ yêu cầu nhập passphrase trước khi mở phiên làm việc.

Việc đăng nhập thành công mà không cần nhập mật khẩu tài khoản chứng tỏ SSH Key đã được cấu hình chính xác. Trong bước tiếp theo, bạn nên tắt xác thực bằng mật khẩu để tăng cường bảo mật cho máy chủ.

 HỖ TRỢ TRỰC TUYẾN