Hướng dẫn cấu hình SSH Key trên Almalinux/Rocky Linux/CentOS 8

Đánh Giá post

SSH Key là một phương thức xác thực đăng nhập với máy chủ thông qua truy cập SSH bằng việc đối chiếu giữa một cặp keys, bao gồm một khóa riêng tư (Private key) và khóa công khai (Public key) tương ứng. SSH Key sử dụng giao thức xác thực hỏi và trả lời trong đó một bên trình bày một câu hỏi và một bên khác phải cung cấp một câu trả lời hợp lệ để được chứng thực.

SSH key là gì?

1. SSH Key là gì?

  • SSH Keys là một phương thức xác thực đăng nhập với máy chủ thông qua truy cập SSH bằng việc đối chiếu giữa một cặp keys, bao gồm một khóa riêng tư (private key) và khóa công khai (public key) tương ứng. SSH Keys sử dụng giao thức xác thực hỏi và trả lời trong đó một bên trình bày một câu hỏi và một bên khác phải cung cấp một câu trả lời hợp lệ để được chứng thực.
  • Thông thường, một người dùng đăng nhập VPS thông qua username root và password của user đó. Người dùng có thể mất quyền truy cập VPS nếu bị quên hoặc để lộ mật khẩu hay bị dò tìm mật khẩu qua Brute Force Attack. Do đó, việc sử dụng SSH Keys sẽ bảo mật hơn rất nhiều so với phương pháp đăng nhập dùng mật khẩu truyền thống.
  • Một cách đơn giản ta có thể so sánh Private Key như là chìa khóa còn Public Key là ổ khóa

2. Các thành phần của SSH Key

Khi tạo ra một SSH Key, bạn cần biết sẽ có 3 thành phần

  • Public Key: Bạn sẽ copy ký tự key này sẽ bỏ vào file ~/.ssh/authorized_keys trên server của bạn.
  • Private Key: Bạn sẽ lưu file này vào máy tính, sau đó sẽ thiết lập phiên ssh sử dụng key này để có thể login.
  • Keypharse: Mật khẩu để mở private key, khi đăng nhập vào server nó sẽ hỏi cái này (Nếu không đặt pass cho private key thì có thể bỏ qua)

3. Nguyên tắc hoạt động của SSH Key

  • Private keyPublic key luôn có liên hệ chặt chẽ với nhau để nó có thể nhận diện lẫn nhau. Khi tạo một SSH Key thì người dùng sẽ có cả 2 loại key này. Sau đó người dùng mang public key upload lên máy chủ của mình, còn cái private key của người dùng sẽ lưu ở máy và khi đăng nhập vào server, người dùng sẽ gửi yêu cầu đăng nhập kèm theo cái Private Key này để gửi tín hiệu đến server, server sẽ kiểm tra xem cái Private key của người dùng có khớp với Public key có trên server hay không, nếu có thì bạn sẽ đăng nhập được.

4. Hướng dẫn cấu hình SSH Key

Để đảm bảo tính bảo mật truy cập cho máy chủ Linux, bài này HATECHNO sẽ hướng dẫn các bạn tạo kết nối SSH đến máy chủ thông qua SSH Key. Các bạn tiến hành cấu hình theo các bước bên dưới nhé.

Bước 1: Kết nối SSH và tạo Key trên Server

ssh-keygen -t rsa

  • Mục 1: Đây là đường dẫn lưu Key, các bạn có thể nhấn Enter và key sẽ lưu trong file mặc đinh: /root/.ssh/
  • Mục 2: Thông tin mật khẩu bảo mật cho Key. Các bạn có thể sử dụng mật khẩu này để đăng nhập nếu như không nhớ mật khẩu root.
  • Mục 3: Nhập lại mật khẩu passphrase.

cai dat ssh key tren Almalinux 8 01

  • Các key sẽ được tạo ra và lưu trữ trong /root/.ssh/ gồm có id_rsa và id_rsa.pub
  • Các bạn tải 2 file này về máy Client và lưu lại.
  • Copy nội dung file Public_key sang cho file authorized_keys và xóa bỏ 2 file id_rsa và id_rsa.pub trên Server

cd /root/.ssh/

cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys

rm -rf id_rsa & rm -rf id_rsa.pub

cai dat ssh key tren Almalinux 8 02

Chỉnh sửa cấu hình file sshd_config

vi /etc/ssh/sshd_config

Sửa:

PasswordAuthentication yes
Lưu lại và reset service
systemctl restart sshd.service

Bước 2: Thực hiện cấu hình phía Client, tạo SSH key trên MobaXterm

  • Mở MobaXterm -> Tools -> MobaKeyGen (SSH Key Generator)

cai dat ssh key tren Almalinux 8 03

  • Tại màn hình MobaXterm SSH Key Generator -> Chọn Load và tìm đến folder lưu trữ file Key đã download ở phía trên.

cai dat ssh key tren Almalinux 8 04

  • Sau khi chọn đến file nó sẽ yêu cầu nhập Password bảo mật khi tạo, các bạn nhập passphrase và nhấn OK.

cai dat ssh key tren Almalinux 8 05

  • Save lại Private_Key

cai dat ssh key tren Almalinux 8 06

Bước 3: Kiểm tra kết nối SSH sử dụng SSH Key.

  1. Tạo kết nối mới:Click vào Session
  2. Chọn SSH
  3. Nhập địa chỉ máy chủ và user, Port SSH của máy chủ
  4. Chọn tab Advanced SSH Settings
  5. Check vào: Using private key
  6. Click vào Browse -> chọn file Private_Key đã lưu ở bước trên
  7. OK để lâu cấu hình

cai dat ssh key tren Almalinux 8 08

  • Sau khi kết nối với SSH Key thì nó sẽ yêu cầu các bạn nhập passphrase và nhấn Enter

cai dat ssh key tren Almalinux 8 09

  •  Nếu các bạn kết nối vào được giao diện SSH là đã hoàn tất quá trình setup.

cai dat ssh key tren Almalinux 8 10

Chúc các bạn cấu hình thành công!

Phòng Kỹ Thuật HATECHNO