Hướng dẫn tạo SSH KEY

Bài hướng dẫn chỉ sử dụng với VPS sử dụng OS Linux

Tại sao phải sử dụng SSH KEY

Mặc định mỗi VPS bạn sẽ đăng nhập vào bằng username root và mật khẩu root mà nhà cung cấp đã gửi cho bạn lúc thuê VPS, tuy nhiên việc sử dụng mật khẩu luôn có 2 nguy cơ lớn là:

  • Bạn làm lộ mật khẩu sẽ dẫn đến việc bạn sẽ bị mất tất cả dữ liệu hoặc những thông tin bạn đang có trên VPS.
  • Hacker có thể sử dụng các phần mềm dò tìm mật khẩu để xâm nhập vào VPS của bạn

Do đó, vHost khuyến khích các bạn làm quen với SSH Key để đăng nhập vào VPS, cũng như sử dụng nó để xác thực các kết nối từ bên ngoài vào VPS cho an toàn hơn.

Cách tạo SSH KEY và đăng nhập VPS bằng sử dụng SSH KEY

Nếu các bạn sử dụng Linux
Cách tạo SSH KEY

Bật terminal trên máy linux của bạn lên và thực hiện theo các bước sau.

ssh-keygen -t rsa

Sau khi thực hiện câu lệnh này hệ thống sẽ yêu cầu bạn nhập passphrase (tại đây bạn không cần nhập cũng được ấn enter cho đến khi kết thúc, nhưng vHost khuyên bạn nên nhập vào trường này vì nó giống bảo mật 2 lớp cho VPS của bạn.)

Cách đưa SSH KEY vào trong VPS

Tiếp đến chúng ta cần copy đoạn Key này tới VPS của các bạn, ngay tại máy Linux của các bạn ta thực hiện lệnh sau:

ssh-copy-id –i ~/.ssh/id_rsa IP(đia chỉ IP của VPS)

Với việc copy này thì đoạn mã SSH Key vừa tạo trên máy linux của bạn sẽ được chuyển vào VPS tại thư mục /root/.ssh/authorized_keys

Đăng nhập SSH từ máy linux tới VPS

Sau khi copy xong các bạn thực hiện ssh tới VPS theo lệnh sau.

ssh -i .ssh/id_rsa IP(địa chỉ IP của VPS)
Nếu bạn sử dụng Windows
Cách tạo SSH KEY bằng PuTTy-Gen

Hãy mở PuTTy-Gen khi bạn tải xong, bạn chọn các tùy chọn như trong ảnh dưới rồi ấn Generate.

Chú ý: Trong lúc tạo, bạn hãy rê chuột vòng vòng màn hình cho đến khi nó tạo xong.

Sau khi chạy xong bạn sẽ thấy như hình dưới.

Bây giờ hãy đặt passphrase cho nó bằng cách điền passphrase ở trên (không cần điền vào mục này cũng được).

Sau đó ấn Save Private Key và lưu nó trên một nơi thật an toàn, tốt nhất nên đưa 1 bản lên Google Drive nếu bạn có sử dụng.

Lưu ý: Các bạn lưu ý khi lưu file ssh key đuôi file sẽ là .ppk và hãy lưu giữ nó cẩn thận vì nếu mất file này sẽ không thể kết nối đến VPS qua SSH được nữa. Bạn không nên đưa file này cho bất kỳ ai tránh trường hợp người khác có thể login vào VPS của bạn khi họ có file này.

Chú ý: Public key bắt đầu bằng từ khóa ssh-rsa-XXXXXX. Đây sẽ là cái đoạn mà bạn sẽ copy bỏ vào server để đối chiếu khi login bằng SSH KEY

Cách thêm SSH Key vào trong VPS

Bây giờ hãy đăng nhập vào VPS với user mà bạn cần thêm key (thường thì là root, nhưng nếu VPS bạn có nhiều user thì sẽ cần thêm key cho tất cả user đó).

Sau đó gõ các lệnh dưới đây để tạo thư mục .ssh/ và file authorized_keys trong thư mục đó:

# mkdir ~/.ssh

# chmod 700 ~/.ssh

# touch ~/.ssh/authorized_keys

# chmod 600 ~/.ssh/authorized_keys

Sau đó mở file authorized_keys trong thư mục .ssh ở thư mục gốc của user và copy toàn bộ ký tự của public key vào.

Cách sử dụng SSH KEY để login vào VPS

Để kiểm tra xem nó đã hoạt động chưa, hãy đăng nhập lại vào SSH với tài khoản vừa thêm SSH Key. Nếu bạn đăng nhập bằng Linux thì nó sẽ tự hỏi passphrase của bạn, còn nếu bạn đăng nhập ở Windows thông qua các phần mềm khác như PuTTY thì khi đăng nhập, bạn phải trỏ file private key vào để nó chứng thực.

Hãy chọn đường dẫn của file SSH Key vừa mới tạo ra ở trên để xác thực khi login vào VPS

Để đảm bảo không có thể đăng nhập vào VPS của bạn bằng mật khẩu root và user nữa bạn cần vào file sshd_config

# vi /etc/ssh/sshd_config

Tìm dòng -> PasswordAuthentication yes

Sau đó sửa yes -> no

Hãy lưu lại và restart sshd

# systemctl restart sshd

Với việc này bạn đã vô hiệu hóa xác thực passwd qua SSH và bạn chỉ có thể đăng nhập bằng Private key mà bạn vừa tạo.

Lưu ý: Với việc sử dụng SSH KEY và vô hiệu hóa xác thực password khi đăng nhập qua SSH thì việc bảo mật file SSH_KEY là rất quan trọng và các bạn phải luôn mang theo file này nếu muốn sử dụng SSH trên một máy tính khác, các bạn có thể lưu file này trên Google Drive hoặc trên một công cụ lưu trữ nào khác để đăng nhập VPS trên bất kỳ máy tính nào.

Chúc bạn thực hiện thành công.

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top