Hướng dẫn tạo, sử dụng SSH key đăng nhập Server trên Windows 11

Nếu bạn muốn kết nối từ xa với máy chủ SSH bằng Key authentication hoặc sử dụng GitHub để quản lý mã của mình, bạn sẽ cần một cặp SSH key.

Khi bạn đang sử dụng máy Windows, các bước trên có thể hơi khác một chút so với trên Linux. Windows 11 đi kèm với gói OpenSSH tích hợp sẵn và các lệnh mà người ta có thể sử dụng để tạo và quản lý các khóa từ Command Prompt, Windows Terminal hoặc PowerShell.

Nếu bạn đang sử dụng dòng lệnh, thì bạn chắc chắn nên sử dụng Windows Terminal được cài đặt theo mặc định trong Windows 11. Windows Terminal cung cấp trải nghiệm và tính năng tốt hơn, đồng thời có thể chạy Command Prompt, PowerShell và Windows Subsystem cho Linux tất cả trong một cửa sổ.

Cách tạo SSH key để đăng nhập Server trên Windows 11

Như đã đề cập ở trên, người ta có thể tạo hoặc tạo SSH key trong Windows 11. Nếu bạn muốn sử dụng xác thực SSH key hoặc sử dụng xác thực dựa trên SSH key, bạn sẽ cần tạo một cặp SSH key.

Các bước dưới đây hướng dẫn bạn cách thực hiện điều đó trong Windows 11

Trong Windows, để tạo SSH key, chỉ cần chạy các lệnh bên dưới và nhấn Enter.

ssh-keygen

Lệnh trên sẽ tự động tạo và tạo khóa RSA 2048-bit.

GitHub khuyên bạn nên tạo SSH key bằng thuật toán Ed25519.

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

Khi bạn chạy các lệnh trên, bạn sẽ được nhắc với các dòng sau yêu cầu nhập vị trí để lưu file.

Khi bạn được nhắc ” Enter a file in which to save the key “, hãy nhấn Enter để chấp nhận vị trí file mặc định.

Generating public/private ed25519 key pair.
Enter file in which to save the key (C:\Users\SHV/.ssh/id_ed25519):

 Nếu bạn sử dụng các giá trị mặc định thì nó sẽ lưu các khóa của bạn vào C:\User\<username>\.ssh

Tiếp theo, bạn sẽ được yêu cầu nhập cụm mật khẩu. Bạn nên để trống và nhấn Enter. Tuy nhiên, bạn có thể bảo mật SSH key của mình bằng cách nhập cụm mật khẩu để bạn được nhắc nhập cụm mật khẩu bất cứ khi nào bạn muốn sử dụng khóa để xác thực.

Created directory 'C:\Users\SHV/.ssh'.
Enter passphrase (empty for no passphrase):

Sau đó, bạn sẽ thấy màn hình tương tự như bên dưới. Cặp SSH key của bạn sẽ được tạo và sẵn sàng sử dụng.

Generating public/private ed25519 key pair.
Enter file in which to save the key (C:\Users\SHV/.ssh/id_ed25519):
Created directory 'C:\Users\SHV/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\SHV/.ssh/id_ed25519.
Your public key has been saved in C:\Users\SHV/.ssh/id_ed25519.pub.
The key fingerprint is:
SHA256:fXTi96BC8pHrL3tqyBOrtKxBeW2vYSMigOKt9U898rd1Jo [email protected]
The key's randomart imagse is:
+--[ED25519 256]--+
|                 |
|                 |
|            o .  |
|         . + o   |
| o +.   S = o o  |
|o *.o+   + + + o |
|*..o..= . + o . .|
|B.o+...=.+ + o   |
| =+oo o+++= E    |
+----[SHA256]-----+

Sau khi quá trình tạo khóa hoàn tất, bạn sẽ có thể truy cập cặp khóa tại vị trí bên dưới.

C:\Users\<username>\.ssh

Thay thế <tên người dùng> bằng tên tài khoản Windows của bạn.

vị trí chính của windows 11 ssh

Cách sao chép Public key vào máy chủ SSH với Windows 11

Bây giờ bạn đã tạo cặp SSH key của mình, bạn sẽ muốn sao chép public key của mình vào máy chủ SSH. Trên các hệ thống giống Unix, ssh-copy-id là một công cụ để sao chép các SSH key vào máy chủ.

Tuy nhiên, Windows không được cài đặt công cụ ssh-copy-id. Để đưa SSH công khai của bạn tới máy chủ và kích hoạt đăng nhập không cần mật khẩu, bạn có thể phải sử dụng PowerShell để thực hiện điều tương tự trong Windows 11.

Để sao chép SSH key của bạn vào máy chủ, hãy mở Windows Terminal , sau đó sao chép và dán dòng bên dưới rồi nhấn Enter .

type $env:USERPROFILE\.ssh\id_rsa.pub | ssh {IP-ADDRESS} "cat >> .ssh/authorized_keys"

Thay thế {IP-ADDRESS} bằng địa chỉ IP của máy chủ.

Nếu bạn chưa có ~/.ssh/authorized_keys ở vị trí đích, hãy chạy các lệnh Linux bên dưới để tạo file. Chạy lại lệnh trên một lần nữa để sao chép khóa của bạn vào máy chủ.

touch ~/.ssh/authorized_keys

Cách định cấu hình SSH để đăng nhập Server không cần mật khẩu

Bây giờ bạn đã sao chép khóa công khai của mình, bước tiếp theo là tắt xác thực mật khẩu.

Đăng nhập vào máy chủ từ xa bằng mật khẩu của bạn, sau đó mở file cấu hình SSH bằng cách chạy các lệnh bên dưới.

sudo nano /etc/ssh/sshd_config

Trong file, tìm các dòng bên dưới và thay đổi giá trị để khớp với các dòng này.

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

Lưu file và thoát.

Khởi động lại máy chủ SSH trên máy chủ từ xa.

sudo systemctl restart ssh

Sau đó, đăng nhập bằng mật khẩu sẽ bị vô hiệu hóa.

Tiếp theo gõ đơn giản bằng cách gõ lệnh dưới đây sẽ giúp bạn đăng nhập mà không cần mật khẩu nhắc.

ssh [email protected]_ip_address

Xem thêm về:

Chia sẻ suy nghĩ, quan điểm của bạn

Leave a reply

Tìm kiếm
Sao Hải Vương
Logo