Home Máy chủ LinuxLinux căn bản Hướng dẫn tạo và sử dụng SSH Key

Hướng dẫn tạo và sử dụng SSH Key

by Quân Đỗ Trung
Published: Last Updated on
A+A-
Reset

Trước khi đi vào bài viết hãy cùng Quân tìm hiểu SSH key là gì? và vì sao lại cần thiết sử dụng SSH key nhé.

Đầu tiên chúng ta hãy định nghĩa lại SSH. SSH hay còn được biết đến là secure shell. Là một phương thức được sử dụng để mã hóa dữ liệu khi bạn kết nối từ máy bạn đến server như mô hình bên dưới.

Hướng dẫn tạo và sử dụng SSH Key

Thông thường để kết nối đến Server bạn sẽ sử dụng Passwd Root để SSH vào, nhưng nó có thực sự an toàn tuyệt đối và bảo mật hay chưa? Là một kỹ thuật hệ thống và với góc nhìn của mình thì SSH bằng passwd root chưa thực sự an toàn vì khi vps bạn Online lên sẽ đối mặt với nhiều rủi ro, lộ thông quan quản trị, bị dò passwd bởi attacker. Vậy làm sao để đảm bảo an toàn hãy cùng mình tìm hiểu qua cách tạo và sử dụng SSH KEY nhé.

SSH Key bạn có thể hiểu đơn giản là một kiểu chứng thực đối chiếu giữa người dùng (Private key) và máy chủ server/vps (Public key). Public key và Private key có mối quan hệ chặt chẽ với nhau để nhận diện mở khóa. Khi bạn tạo SSH Key sẽ có 2 file bao gồm là Public Key, file này bạn sẽ đưa lên máy chủ server/vps còn Private key bạn sẽ để ở máy tính cá nhân. Nói một cách dễ hiểu hơn Public key chính là ổ khóa còn Private key chính là chìa khóa và để mở được ổ khóa thì phải đúng chìa khóa thì mới mở được.

Do đó việc sử dụng SSH Key hết sức cần thiết để đảm báo máy chủ luôn an toàn và không bị đăng nhập dò passwd nữa, ngay cả khi bạn để lộ chuổi Private key thì cũng không phải lo lắng vì còn Passphrase để mở private key nữa. Và để không mất thời gian hãy cùng mình tạo và đăng nhập nhé.

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

Có nhiều công cụ hỗ trợ tạo nhưng căn bản cũng sẽ thực hiện tạo ra chuổi public và private. Ở đây mình hướng dẫn bạn trên Windows và Linux như sau.

1. Sử dụng Putty trên Windows

Với hệ điều hành Windows mình giới thiệu đến bạn một phần mềm SSH mạnh mẽ nhất là PuTTY, một phần mềm đông đảo ngưởi dùng sử dụng để SSH và tạo SSH KEY, mình để link bên dưới để bạn tải về nhé.

Sau khi tải xong và cài đặt bạn mở PuTTY Gen lên để tạo SSH key nhé. Tại đây bạn chọn Generate để tạo.

Hướng dẫn tạo và sử dụng SSH Key

Tiếp đến bạn hãy Di chuyển con chuột vào khung trống này cho đến khi tạo xong ssh key.

Hướng dẫn tạo và sử dụng SSH Key

Khi xuất hiện như ảnh bên dưới là đã thành công. Nhưng bạn hãy thực hiện một bước nữa là đặt passphrase để mở private key nhé. Bạn nhập vào passwd tự chọn vào khung Key passphaseConfirm passphase. Sau khi nhập hoàn tất bạn click vào Save private keysave public key để lưu lại ở máy cá nhân.

Hướng dẫn tạo và sử dụng SSH Key

2. Sử dụng Linux/MacOS

Với Linux hoặc MacOS đều thuộc nhóm Hệ điều hành Unix do đó cách thức và lệnh tạo cũng sẽ tương đương giống nhau. Và để thực hiện được bạn hãy mở cửa sổ Terminal lên sau đó thực hiện nhập vào lệnh sau ssh-keygen -t rsa để tạo chuổi Public keyPrivate key.

AZDIGI Tutorial
ls -al ~/.ssh
 ssh-keygen -t rsa
Hướng dẫn tạo và sử dụng SSH Key

Chú thích trong ảnh

  • ssh-keygen -t rsa: Lệnh để tạo
  • Enter file in which to save the key: Đặt tên cho file ssh key
  • Enter passphrase (empty for no passphrase): Đặt mật khẩu để mở khóa cho ssh key
  • Enter same passphrase again: Nhập lại mật khẩu để xác nhận.
Your identification has been saved in quanazdigi: Đây là khóa key
Your public key has been saved in quanazdigi.pub: Đây là khóa công khai sẽ đưa lên server
Hướng dẫn tạo và sử dụng SSH Key

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

Sau khi đã tạo xong SSH key ở các bước trên, để sử dụng bạn thực hiện tuần tự các bước như sau nhé.

Bước 1: Thêm Public key lên Server/VPS

Bạn hãy ssh vào server/vps với thông tin passwd root và thực hiện nhập tuần tự các lệnh sau.

AZDIGI Tutorial
mkdir ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
    

Khi tạo xong file authorized_keys bạn hãy mở file này lên với lệnh sau vi ~/.ssh/authorized_keys và copy toàn bộ chuổi ký tự public key đã tạo vào nhé.

Lưu ý: Để ssh key hoạt động bạn cần phải tắt SElinux. Nếu SElinux đang bật thì ssh key sẽ không hoạt động được.

Hướng dẫn tạo và sử dụng SSH Key

Bước 3: Sử dụng SSH Key

Để sử dụng SSH Key với Windows và Linux hoàn toàn khác nhau, và bạn thực hiện theo các bước hướng dẫn sau.

Sử dụng SSH Key với PuTTY

Bạn mở PuTTY lên sau đó click vào SSH => Auth. Tiếp đến bạn clck vào Browse để tìm đến file Private key đã tạo và lưu ở bước hướng dẫn trên. Khi đã trỏ được đến file Private và bạn thực hiện SSH thì bạn sẽ nhận được yêu cầu nhập vào Passphrase, bạn hãy nhập Passphrase để hoàn tất bước SSH nhé.

Hướng dẫn tạo và sử dụng SSH Key

Sử dụng SSH Key với Linux/MacOS

Với Linux/MacOS để sử dụng SSH key bạn mở Terminal lên và sử dụng lệnh sau để SSH.

AZDIGI Tutorial
 ssh -i duong_dan_file_private_key root@ip_may_chu -p nhap_vao_port_ssh
    
Ví dụ: ssh -i .ssh/quan root@103.110.84.109 -p 2210      

Trong đó:

  • ssh -i: cú pháp thực hiện
  • .ssh/quan: đường dẫn đến fike private key, và ở đây private key của mình tên là quan
  • root: tên user
  • @103.110.84.109: IP máy chủ
  • -p 2210: option và Port ssh, ở đây mình đổi port ssh mặc định là 22 thành 2210

Sau khi đã gọi file ssh thành công bạn hãy nhập vào passphrase để ssh vào máy chủ.

Hướng dẫn tạo và sử dụng SSH Key

Sau khi đã SSH key thành công bạn có thể tắt cho phép SSH bằng Passwd đi để tránh do passwd và brute force attack nhé. Để tắt đăng nhập ssh bằng passwd bạn thực hiện như sau. Bạn mở file /etc/ssh/sshd_config sau đó tìm đến dòng PasswordAuthentication Yes bạn chuyển thành PasswordAuthentication no

AZDIGI Tutorial
vi /etc/ssh/sshd_config
    

Sửa lại thành

AZDIGI Tutorial
PasswordAuthentication no
    
Screenshot 2021 05 09 at 12.40.39

Khi lưu xong bạn đừng quên khởi động lại dịch vụ sshd nhé.

AZDIGI Tutorial
systemctl restart sshd
#UsePAM no
    

Lời kết

Qua bài Hướng dẫn tạo và sử dụng SSH Key này hy vọng giúp bạn hiểu hơn về SSH key, vì sao lại cần sử dụng ssh. Việc sử dụng SSH key đảm bảo an toàn đến máy chủ, loại bỏ đi phương thức ssh truyển thống với user root và passwd. Việc sử dụng SSH Key AZDIGI luôn khuyến khích các người dùng và toàn bộ khách hàng tại AZDIGI sử dụng để đảm bảo các máy chủ này luôn an toàn, và không thể xâm nhập trái phép được.

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

Nếu các bạn cần hỗ trợ các bạn có thể liên hệ bộ phận hỗ trợ theo các cách bên dưới:

5/5 - (5 votes)

Tham gia nhóm hỗ trợ Server - Hosting

Tham gia nhóm Hỗ trợ Server - Hosting & WordPress để cùng nhau hỏi đáp và hỗ trợ các vấn đề về WordPress, tối ưu máy chủ/server.

Tham gia ngay

Bài viết cùng chuyên mục

AZDIGI – Không chỉ là đơn vị hàng đầu trong lĩnh vực Web Hosting và Máy chủ, chúng tôi mong muốn mang lại những kiến thức bổ ích nhất và luôn cập nhật thường xuyên cho cộng đồng người đam mê thiết kế website, công nghệ,…

Vui lòng không sao chép nội dung nếu chưa xin phép. Designed and Developed by PenciDesign