Cách tạo khóa SSH trong Windows 10 và Windows 11

Tác giả sysadmin, T.Tám 28, 2023, 09:25:21 SÁNG

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 2 Khách đang xem chủ đề.

Cách tạo khóa SSH trong Windows 10 và Windows 11


Việc tạo khóa SSH rất dễ dàng và bạn có một số cách khác nhau để thực hiện việc đó.

  • Tạo khóa SSH trên Windows 10 hoặc 11 bằng cách sử dụng Dấu nhắc lệnh, PowerShell hoặc Windows Terminal rồi nhập "ssh-keygen" theo sau là cụm mật khẩu. Vị trí lưu trữ mặc định là trong thư mục C:\Users.
  • Bạn có thể tạo khóa SSH nhanh chóng theo hai cách khác: thông qua dòng lệnh, sử dụng Hệ thống con Windows cho Linux (WSL) hoặc bằng PuTTY. Mỗi phương pháp đều có các bước và cân nhắc riêng.
  • Việc tạo nhiều khóa SSH cho các trang web khác nhau rất đơn giản — chỉ cần đặt cho mỗi khóa một tên khác nhau trong quá trình tạo. Quản lý và chuyển giao các khóa này một cách hợp lý để tránh mất quyền truy cập vào máy chủ và tài khoản.


Nếu một phần cuộc sống của bạn bao gồm việc đăng nhập vào máy chủ từ xa, có thể là blog tự lưu trữ, cài đặt Nextcloud hoặc gửi các thay đổi mới nhất của bạn tới GitHub, thì bạn cần có khóa SSH. Trong Windows 10 và 11, chúng ta tha hồ lựa chọn khi tạo khóa mới.

Đây là cách tạo tất cả các khóa SSH mà bạn cần bằng ba phương pháp khác nhau. Chúng tôi sẽ chỉ cho bạn cách tạo bộ khóa ban đầu cũng như các bộ khóa bổ sung nếu bạn muốn tạo các khóa khác nhau cho nhiều trang web.

1. Tạo khóa trong dòng lệnh

Windows 10 đã có ứng dụng khách OpenSSH tích hợp kể từ bản cập nhật tháng 4 năm 2018. Windows 11 cũng được tích hợp sẵn tính năng này.

Để sử dụng nó, hãy mở Dấu nhắc lệnh của Windows bằng cách nhấn phím Windows và gõ "cmd".

Nếu bạn thường xuyên sử dụng dòng lệnh, chúng tôi khuyên bạn nên cài đặt Windows Terminal từ Windows Store (được cài đặt trên Windows 11 theo mặc định). Đây là một chương trình theo thẻ có thể chạy tất cả các Dấu nhắc Lệnh, PowerShell và Hệ thống con Windows cho Linux trong một cửa sổ. Nó cũng có những tính năng thú vị như cài đặt hình nền.

Cho dù bạn sử dụng Dấu nhắc Lệnh hay Windows Terminal, hãy nhập ssh-keygenvà nhấn Enter. Điều này sẽ tự động tạo các khóa SSH. Trong các thử nghiệm của chúng tôi trên Windows 11, nó đã tạo khóa RSA 2048 bit. Nếu bạn muốn sử dụng một thuật toán khác - ví dụ như GitHub khuyên dùng Ed25519 ssh-keygen -t ed25519 - thì bạn hãy nhập.


Sau khi nhập lệnh, nhấn Enter, sau đó bạn sẽ được nhắc đặt tên cho khóa của mình và lưu nó vào một vị trí cụ thể. Nếu bạn sử dụng các giá trị mặc định thì nó sẽ lưu khóa của bạn C:\User[YourUserName].ssh- giả sử ổ C là nơi lưu trữ tài khoản người dùng của bạn.


Tiếp theo, bạn sẽ được yêu cầu nhập cụm mật khẩu. Chúng tôi thực sự khuyên bạn nên làm điều này để giữ an toàn cho chìa khóa của mình. Nếu bạn lo lắng về việc quên mật khẩu, hãy xem danh sách tổng hợp các trình quản lý mật khẩu tốt nhất. Nếu bạn thực sự không muốn có cụm mật khẩu thì chỉ cần nhấn Enter.


Vậy là khóa của bạn đã được tạo, lưu và sẵn sàng để sử dụng. Bạn sẽ thấy mình có hai tệp trong thư mục ".ssh": "id_rsa" không có phần mở rộng tệp và "id_rsa.pub." Cái sau là khóa bạn tải lên máy chủ để xác thực trong khi cái trước là khóa riêng mà bạn không chia sẻ với người khác.


Nếu bạn không thể thấy thư mục ".ssh" của mình trong File Explorer, hãy xem hướng dẫn của chúng tôi về cách hiển thị các tệp và thư mục ẩn trong Windows.

Nếu bạn muốn tạo nhiều khóa cho các trang web khác nhau cũng thật dễ dàng. Ví dụ: giả sử bạn muốn sử dụng các khóa mặc định mà chúng tôi vừa tạo cho máy chủ bạn có trên Digital Ocean và bạn muốn tạo một bộ khóa khác cho GitHub. Bạn sẽ làm theo quy trình tương tự như trên, nhưng khi đến lúc lưu khóa, bạn chỉ cần đặt cho nó một tên khác, chẳng hạn như "id_rsa_github" hoặc tên nào đó tương tự. Bạn có thể làm điều đó bao nhiêu lần tùy thích. Chỉ cần nhớ rằng bạn càng có nhiều chìa khóa thì bạn càng phải quản lý nhiều chìa khóa hơn. Khi nâng cấp lên PC mới, bạn cần di chuyển các khóa đó cùng với các tệp khác của mình nếu không có nguy cơ mất quyền truy cập vào máy chủ và tài khoản của mình, ít nhất là tạm thời.

2. Tạo khóa trong WSL


Nếu bạn là người dùng WSL, bạn có thể sử dụng phương pháp tương tự với cài đặt WSL của mình. Trên thực tế, về cơ bản nó giống với phiên bản Command Promt. Tại sao bạn muốn làm điều này? Nếu bạn chủ yếu sống trong Linux để thực hiện các nhiệm vụ dòng lệnh thì việc giữ các khóa của bạn trong WSL là điều hợp lý.

Mở Windows Terminal hoặc dấu nhắc lệnh Ubuntu tích hợp (giả sử bạn đã cài đặt Ubuntu Linux). Sau đó, nó rất giống với Windows. Không giống như Windows, tốt nhất bạn nên chỉ định xem bạn muốn khóa RSA hay thứ gì đó như Ed25519.

Giả sử bạn muốn tạo khóa RSA-4096. Bạn sẽ gõ lệnh sau:

Mã nguồn [Chọn]
ssh-keygen -t rsa -b 4096
Nếu bạn muốn Ed25519 thì cách được đề xuất như sau:

Mã nguồn [Chọn]
ssh-keygen -t ed25519 -C "[email protected]"
Bạn nên thêm địa chỉ email của mình làm mã nhận dạng, mặc dù bạn không phải làm điều này trên Windows vì phiên bản của Microsoft tự động sử dụng tên người dùng và tên PC của bạn cho việc này.

Một lần nữa, để tạo nhiều khóa cho các trang web khác nhau, chỉ cần gắn thẻ gì đó như "_github" vào cuối tên tệp.

3. Tạo khóa bằng PuTTY

Trong nhiều năm, chương trình PuTTY cũ là cách phổ biến để giao tiếp với máy chủ trong Windows. Nếu bạn đã có chương trình này trên hệ thống của mình thì nó cũng cung cấp một phương pháp tạo khóa SSH.

PuTTY đi kèm với một số chương trình trợ giúp, một trong số đó được gọi là Trình tạo khóa PuTTY. Để mở nó, hãy tìm kiếm nó bằng cách nhấn phím Windows và gõ "puttygen" hoặc tìm kiếm nó trong menu Bắt đầu.


Sau khi mở, ở cuối cửa sổ, bạn sẽ thấy các loại khóa khác nhau cần tạo. Nếu bạn không chắc chắn nên sử dụng cái nào, hãy chọn "RSA" và sau đó trong hộp nhập có nội dung "Số bit trong khóa được tạo", hãy nhập "4096". Một cách khác là chọn "EdDSA", sau đó từ menu thả xuống xuất hiện bên dưới, hãy đảm bảo "Ed25519 (255 bit)" được chọn.


Bây giờ, tất cả những gì bạn phải làm là nhấp vào "Tạo" và PuTTY sẽ bắt đầu hoạt động. Quá trình này sẽ không mất quá nhiều thời gian tùy thuộc vào độ mạnh của hệ thống của bạn và PuTTy sẽ yêu cầu bạn di chuyển chuột xung quanh bên trong cửa sổ để giúp tạo thêm một chút ngẫu nhiên trong quá trình tạo khóa.

Sau khi hoàn tất, hãy nhấp vào "Lưu khóa công khai" để lưu khóa chung của bạn và lưu nó vào nơi bạn muốn với tên "id_rsa.pub" hoặc "id_ed25519.pub" tùy thuộc vào việc bạn đã chọn RSA hay Ed25519 ở bước trước.


Sau đó, để có được khóa riêng của bạn, bạn phải thực hiện thêm một bước. Theo mặc định, PuTTY tạo khóa PPK để sử dụng với ứng dụng khách PuTTy. Tuy nhiên, nếu bạn muốn OpenSSH, ở đầu cửa sổ, hãy chọn Chuyển đổi > Xuất khóa OpenSSH rồi lưu tệp dưới dạng "id_rsa" hoặc "id_ed25519" mà không có đuôi tệp.


Tạo khóa SSH thực sự dễ dàng cho dù bạn chọn phương pháp nào. Chúng tôi khuyên bạn nên sử dụng tùy chọn Dấu nhắc lệnh của Windows trừ khi bạn đã cài đặt PuTTY hoặc thích Linux và hiểu hệ thống đó.