SSH Key là gì?

SSH Key là một cặp khóa mật mã được sử dụng để xác thực người dùng khi kết nối với máy chủ SSH. Khóa công khai được lưu trữ trên máy chủ SSH, trong khi khóa bí mật được lưu trữ trên máy khách SSH. Khi người dùng kết nối với máy chủ SSH, máy chủ sẽ sử dụng khóa công khai để tạo một dấu vân tay. Máy khách SSH sau đó sẽ sử dụng khóa bí mật để tạo một dấu vân tay tương ứng. Nếu hai dấu vân tay này khớp nhau, thì người dùng sẽ được xác thực thành công.

Lợi ích của SSH Key

  • An toàn hơn mật khẩu
  • Dễ dàng quản lý
  • Có thể sử dụng cho nhiều máy chủ SSH

Ứng dụng của SSH key:

  • Truy cập máy chủ SSH: SSH Key được sử dụng để xác thực người dùng khi kết nối với máy chủ SSH.
  • Truyền tệp qua SSH: SSH Key có thể được sử dụng để truyền tệp qua SSH một cách an toàn.
  • Chạy lệnh trên máy chủ SSH: SSH Key có thể được sử dụng để chạy lệnh trên máy chủ SSH một cách an toàn.
  • Sử dụng SSH trong các ứng dụng khác: SSH Key có thể được sử dụng trong các ứng dụng khác, chẳng hạn như Git.

Hướng dẫn sử dụng SSH Key

Tạo SSH Key

Để tạo SSH Key, bạn có thể sử dụng lệnh ssh-keygen. Lệnh này sẽ tạo ra một cặp khóa mật mã trong thư mục ~/.ssh.

Lệnh này sẽ hỏi bạn một số thông tin, bao gồm:

  1. Tên khóa: Bạn có thể đặt tên khóa bất kỳ.
  2. Đường dẫn khóa: Bạn có thể để mặc định là ~/.ssh/id_rsa.
  3. Mật khẩu khóa: Bạn có thể đặt mật khẩu khóa nếu muốn.
Hướng dẫn sử dụng SSH Key
Hướng dẫn sử dụng SSH Key 6

Sau khi tạo xong bnaj sẽ có 2 file như sau và trong đó

  • quandt: Đây là Private key sẽ lưu ở máy cá nhân
  • quandt.pub: Đây là public key, chuổi key này sẽ đưa lên Server
Hướng dẫn sử dụng SSH Key
Hướng dẫn sử dụng SSH Key 7

Kết nối với máy chủ SSH bằng SSH Key

Để kết nối với máy chủ SSH bằng SSH Key, bạn có thể sử dụng lệnh ssh. Lệnh này sẽ sử dụng khóa công khai của bạn để xác thực với máy chủ SSH.

ssh -i folder/sshkey user@host

Ví dụ:

ssh -i /Users/quandt/.ssh/quan [email protected]

Cài đặt SSH Key trên máy chủ SSH

Để cài đặt SSH Key trên máy chủ SSH, bạn cần chuyển khóa công khai của mình lên máy chủ. Bạn có thể sử dụng lệnh cat để chuyển khóa công khai sang máy chủ SSH.

cat ~/.ssh/id_rsa.pub | ssh user@host 'cat >> ~/.ssh/authorized_keys'

Hoặc bạn có thể thêm thủ công bằng cách SSH vào server sau đó mở file vi /root/.ssh/authorized_keys và dán public key vào.

Thay đổi mật khẩu SSH Key

Để thay đổi mật khẩu SSH Key, bạn có thể sử dụng lệnh ssh-keygen với tùy chọn -p

ssh-keygen -p

Lệnh này sẽ yêu cầu bạn nhập mật khẩu hiện tại của khóa, sau đó sẽ yêu cầu bạn nhập mật khẩu mới.

Xóa SSH Key

Để xóa SSH Key, bạn có thể sử dụng lệnh ssh-keygen với tùy chọn -f

ssh-keygen -f ~/.ssh/id_rsa -delete

Lệnh này sẽ xóa khóa công khai và khóa bí mật khỏi thư mục ~/.ssh.

Một số lưu ý khi sử dụng SSH Key:

  • Hãy cất giữ khóa bí mật của bạn một cách an toàn. Nếu ai đó có được khóa bí mật của bạn, họ có thể sử dụng nó để truy cập máy chủ SSH của bạn.
  • Hãy tạo nhiều SSH Key khác nhau cho các máy chủ SSH khác nhau. Điều này sẽ giúp bạn dễ dàng quản lý các SSH key của mình.
  • Hãy cập nhật khóa SSH của bạn thường xuyên. Điều này sẽ giúp bảo vệ bạn khỏi các lỗ hổng bảo mật mới.