Hướng Dẫn Tạo Khóa SSH

Giới thiệu

SSH key là gì?

SSH key là một cặp khóa mã hóa được dùng để xác thực danh tính khi kết nối SSH, có thể sử dụng để thay thế cho việc sử dụng mật khẩu. Gồm 2 phần:

  • Private key: File này thường được lưu trữ cẩn thận trên máy tính của bạn và không được chia sẻ, file này thường có độ dài ít nhất từ 2048bit
  • Public key: Đây cũng là một file được mã hóa có thể được đặt ở trên bất kỳ server hoặc dịch vụ nào để xác thực

Trong bài viết này vNode sẽ hướng dẫn các bạn cách tạo khóa SSH và thêm vào SSH-Agent

 

Hướng dẫn thực hiện

1. Tạo SSH key

Thao tác tạo file xác thực này thường khuyến nghị được thực hiện ở trên máy local

Bước 1: Mở terminal

  • Linux: Mở ứng dụng terminal
  • Windows: Mở PowerShell hoặc Git Bash

 

Bước 2: Chạy lệnh tạo khóa

Thay [email protected] bằng email của bạn

vNode Tutorial
ssh-keygen -t ed25519 -C "[email protected]"

 

Bước 3: Chọn vị trí lưu file

Tiếp theo đó Terminal sẽ hỏi:

Nhấn Enter để dùng đường dẫn mặc định hoặc nhập tên file tùy chỉnh (Ví dụ: /home/user/.ssh/ssh_key)

vNode Tutorial
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/user/.ssh/id_ed25519):

 

Bước 4: Đặt passphrase

  • Nên đặt passphrase để bảo vệ private key nếu như máy bị mất hoặc bị truy cập trái phép
  • Nhấn Enter 2 lần nếu như muốn bỏ qua
vNode Tutorial
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

 

Sau khi tạo xong bạn sẽ nhận được thông báo dưới đây

vNode Tutorial
Your identification has been saved in /home/user/.ssh/id_ed25519
Your public key has been saved in /home/user/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [email protected]

 

2. Copy Public key lên VPS

Cách 1: Upload thủ công

Đầu tiên ta cần SSH đến VPS. Tiếp theo đó tạo thư mục .ssh (Nếu chưa có)

vNode Tutorial
mkdir -p ~/.ssh

 

Thêm nội dung file Public key (file có dạng .pub) vào file authorized_keys. Sau khi paste vào file thì bấm Ctrl + X > Y > Ctrl + O để lưu và thoát

vNode Tutorial
nano ~/.ssh/authorized_keys

 

Sau đó phân quyền cho file và folder

vNode Tutorial
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

 

Cách 2: Sử dụng lệnh (Mac/Linux)

Sử dụng lệnh dưới đây. Sau đó nhập mật khẩu vps khi được hỏi

vNode Tutorial
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@ip-vps-cua-ban

 

Kết luận

SSH key không chỉ an toàn hơn trong việc sử dụng mà còn thuận tiện hơn trong công việc hằng ngày.

Chúc các bạn thành công!