Hướng dẫn tạo và sử dụng SSH Key để kết nối đến Linux Server

1009
23-05-2022
Hướng dẫn tạo và sử dụng SSH Key để kết nối đến Linux Server

Việc sử dụng tài khoản và mật khẩu root mà các nhà cung cấp đã gửi cho bạn lúc thuê Cloud Server thường mang đến nguy cơ rất lớn. Nếu bạn để lộ mật khẩu, bạn sẽ mất tài khoản hoàn toàn. Thêm vào đó, các attacker có thể dễ dàng dò tìm ra mật khẩu của bạn bằng cách sử dụng Brute Force Attack. 

Do đó, hiện nay, để đảm bảo việc đăng nhập vào Cloud Server một cách an toàn, người ta thường sử dụng phương thức SSH Key để thay thế cho mật khẩu đăng nhập. Bài viết mà Bizfly Cloud chia sẻ dưới đây sẽ hướng dẫn bạn chi tiết cách sử dụng SSH Key để kết nối đến Linux Server.

Cơ chế xác thực bằng SSH Key

Ngoài cơ chế xác thực bằng mật khẩu thì SSH Key cũng được sử dụng để xác thực khi kết nối Linux Server. Để tạo được cơ chế xác thực bằng SSH Key, bạn cần có hai file chính như sau:

  • Public Key (khóa chung): Đây là một file text luôn được lưu lại tại phía Server SSH. Public Key thường sử dụng để khi Client gửi Private Key (khóa riêng) lên để xác thực thì nó sẽ kiểm tra mức độ phù hợp giữa Public Key và Private Key và cho phép kết nối nếu phù hợp.
  • Private Key (khoá riêng): Đây là một file text mà trong nó luôn chứa một mã riêng được sử dụng để xác thực sự phù hợp giữa Public Key và Private Key. Client khi muốn kết nối với Server sẽ phải chỉ ra file này khi kết nối SSH. Do đó, bạn cần lưu file Private này thật cẩn thận bởi bất kỳ ai có nó cũng đều có thể tiến hành kết nối với máy chủ của bạn.
Cơ chế xác thực bằng SSH Key

Để tạo được cơ chế xác thực bằng SSH Key cần có hai file: Public Key và Private Key

Cách tạo SSH Key trên Linux Server

Để tạo được SSH Key trên Linux, bạn có thể:

  • Bước 1: Đăng nhập vào Cloud server với quyền root -> Mở terminate trên macOS, Linux hoặc cmd trên Window rồi gõ dòng lệnh ‘ssh-keygen -t rsa’.
  • Bước 2: Khi tiếp tục, Server sẽ hỏi bạn có muốn thiết lập keyphrase hay không. Nếu muốn thì bạn hãy nhập thư mục keyphrase cần thiết rồi chọn Enter. Sau khi hoàn thành, Server sẽ sinh ra hai file key ghi đường dẫn lưu file Public Key (id_rsa.pub) và Private Key (id_rsa).
  • Bước 3: Sử dụng lệnh mv /root/.ssh/id_rsa.pub/root/.ssh/authorized_keys để đổi tên file id_rsa.pub thành authorized_keys.

Từ kết quả lệnh, bạn sẽ có:

  • Public Key chứa trong file ~/.ssh/id_rsa.pub, bạn cần sao chép các nội dung có trong file và giữ nó thật cẩn thận bởi nó được dùng để xác thực khi xuất hiện Private Key gửi đến.
  • Private Key chứa trong file ~/.ssh/id_rsa, bạn cần lưu trữ nó thật cẩn thận bởi nó được dùng để kết nối SSH client với máy chủ.

Có rất nhiều cách để bạn có thể tạo được SSH key trên Linux Server miễn là sau khi có cặp file Public Key và Private Key thì file Public Key được lưu tại vị trí phù hợp trên Server còn Private Key được dùng tại Client để thực hiện kết nối.

Cách tạo SSH Key trên Linux Server

Kết nối SSH Key đến Linux Server 

Bạn có thể thực hiện theo các bước được hướng dẫn dưới đây để kết nối SSH Key đến Linux Server:

  • Bước 1: Mở phần mềm Putty -> Nhập địa chỉ IP Server và Port (Port 22 được dùng mặc định) -> Chọn tab SSH -> Authentication
  • Bước 2: Chọn Browse -> Tìm đến file Private Key định dạng PPK.
  • Bước 3: Trở lại tab Session trên Putty -> Chọn Open.
  • Bước 4: Nhập tài khoản (username) và putty sử dụng SSH Key để xác thực SSH.
  • Bước 5: Thực hiện kiểm tra thử kết nối đến máy chủ (server) không sử dụng Private Key.

Sau khi hoàn thành, Server sẽ gửi đến bạn thông báo không hỗ trợ chứng thực bằng Password, thay vào đó, bạn chỉ có thể chứng thực được bằng SSH Key.

Cấu hình SSH Key

Khi SSH Server bật chế độ cho phép chứng thực bằng SSH Key thì bạn cần thực hiện việc cấu hình nó để xác định được Public Key được lưu tại vị trí nào trên Server và máy Client khi kết nối sẽ gửi Private Key lên.

  • Cấu hình Public Key cho Server: Mở file config của SSH Server và đảm bảo xuất hiện dòng cấu hình

‘PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys’

  • Cấu hình Private Key cho Server: Mở file config của SSH Client ra và thiết lập có xác thực SSH Key đến các host tương ứng.

Sử dụng SSH Key để kết nối đến Linux Server luôn là một trong những việc làm quan trọng. Bởi nếu bạn cứ mãi thông qua phương thức truyền thống bằng mật khẩu để đăng nhập vào VPS thì sẽ gây ra rất nhiều nguy hiểm cho máy tính của bạn khi bạn vô tình lộ mật khẩu hay máy tính có mã độc. Do đó, bài viết mà Bizfly Cloud chia sẻ trên đây chắc chắn sẽ giúp bạn hạn chế được những rủi ro nói trên nếu bạn thực hành và sử dụng SSH Key đúng cách và thường xuyên.

>>> Xem thêm: Password so với SSH key – sử dụng cách xác thực nào tốt hơn?

BizFly Cloud là nhà cung cấp dịch vụ điện toán đám mây với chi phí thấp, được vận hành bởi VCCorp.

BizFly Cloud là một trong 4 doanh nghiệp nòng cốt trong "Chiến dịch thúc đẩy chuyển đổi số bằng công nghệ điện toán đám mây Việt Nam" của Bộ TT&TT; đáp ứng đầy đủ toàn bộ tiêu chí, chỉ tiêu kỹ thuật của nền tảng điện toán đám mây phục vụ Chính phủ điện tử/chính quyền điện tử.

Độc giả quan tâm đến các giải pháp của BizFly Cloud có thể truy cập tại đây.

DÙNG THỬ MIỄN PHÍ và NHẬN ƯU ĐÃI 3 THÁNG tại: Manage.bizflycloud

TAGS: SSH key
SHARE