Bảo vệ các kết nối và tính toàn vẹn dữ liệu của bạn là điều mà các Secure Shell (SSH) key giành ưu thế vượt trội. SSH keygen thường được sử dụng để có quyền truy cập an toàn vào máy chủ từ xa và dịch vụ đám mây. Bạn nên có SSH key nếu thường xuyên truy cập vào máy chủ từ xa bằng thiết bị Windows của mình.
Bên cạnh các máy chủ từ xa, bạn cũng có thể sử dụng các key bảo mật này để cấp quyền truy cập cho nhân viên của mình tại chỗ làm việc, nơi bạn có khả năng bị vi phạm dữ liệu, chẳng hạn như doanh nghiệp, trung tâm dữ liệu, v.v... Bài viết này sẽ hướng dẫn bạn các bước dễ dàng để tạo SSH key trên Windows.
Secure Shell Protocol (SSH) là cách tốt nhất để khóa kết nối không an toàn giữa các máy tính qua web. Bạn nên tránh sử dụng giao thức có tên người dùng và mật khẩu mà thay vào đó hãy chọn SSH key được tạo bằng mật mã.
Windows 11 đi kèm với OpenSSH client tích hợp sẵn. Điều này giúp dễ dàng tạo SSH key mà không cần sử dụng chương trình của bên thứ ba. Nó sẽ hoạt động theo cách tương tự trên Windows 10; nếu bạn gặp sự cố, hãy mở bảng tính năng tùy chọn của Windows và bật tùy chọn OpenSSH Client.
Lưu ý: Bạn có thể thích Windows Terminal hơn vì nó cung cấp một môi trường hợp nhất cho các giao diện dòng lệnh. Nó chạy Command Prompt, PowerShell và Windows Subsystem for Linux trong một cửa sổ duy nhất. Công cụ này tăng cường tính linh hoạt và đơn giản hóa các tác vụ như tạo SSH key.
Tạo SSH key trên Windows rất đơn giản bạn có thể sử dụng 1 trong 3 phương pháp được nêu dưới đây.
Cách tạo SSH key trên Windows
1. Sử dụng Command Prompt
Tạo SSH key với sự trợ giúp của dòng lệnh rất nhanh chóng và dễ dàng. Thực hiện theo các bước được nêu dưới đây.
Bước 1: Bấm vào nút Start. Tìm kiếm Command Prompt và chọn Run as administrator. Nhấp vào Yes khi được nhắc để CMD thực hiện thay đổi cho máy tính của bạn.
Bước 2: Gõ lệnh sau và nhấn Enter trên bàn phím:
ssh-keygen
Bước 3: Nhập tên file lưu trữ key và nhấn Enter:
file_name
Mẹo: Bạn cũng có thể đặt đường dẫn tùy chỉnh tại đây để lưu trữ key ở vị trí mặc định (C:\Users\[username]\).
Bước 4: Nhập cụm mật khẩu để bảo mật key của bạn và nhấn Enter để lưu các thay đổi.
Lưu ý: Bạn có thể nhấn Enter hai lần để bỏ qua bước này và lưu trực tiếp key mà không cần mật khẩu.
Private key và public key của bạn đã được lưu trữ an toàn. Một thông báo xác nhận với thông tin chính bổ sung hiện hiển thị trên màn hình. Bạn có thể tiến hành đóng cửa sổ này.
Bạn có thể sử dụng điều này để tạo nhiều SSH key với các tên file khác nhau.
Bước 5: Gõ exit và nhấn Enter trên bàn phím để đóng cửa sổ CMD.
2. Sử dụng WSL
Tạo SSH key bằng Windows Subsystem for Linux (WSL) mang đến cho bạn nhiều ưu điểm. Bạn có thể nhận được những lợi ích của các công cụ Linux và sự dễ dàng khi làm việc trên máy tính Windows. Hơn nữa, nó cung cấp một cách trơn tru và an toàn để xử lý xác thực SSH.
Cài đặt WSL và bản phân phối Linux
Thực hiện theo các bước bên dưới để cài đặt và thiết lập WSL và bản phân phối Linux trên thiết bị Windows của bạn.
Bước 1: Nhấp vào biểu tượng Windows và tìm Command Prompt. Nhấp vào Run as administrator và chọn Yes khi được nhắc.
Bước 2: Windows 11 được cài đặt sẵn WSL. Bạn có thể kiểm tra nó bằng cách gõ lệnh được đề cập bên dưới và nhấn Enter.
wsl --status
Nếu bạn đang sử dụng Windows 10, hãy cài đặt WSL bằng một trong các phương pháp dưới đây:
- Microsoft Store
Tải Windows Subsystem for Linux (WSL) từ Microsoft Store.
- Giao diện dòng lệnh
Nhập lệnh được đề cập bên dưới và nhấn Enter trên bàn phím của bạn.
wsl --install
Bước 3: Sau khi cài đặt WSL trên máy tính, bạn có thể tải xuống bất kỳ hệ điều hành Linux nào bằng Microsoft Store hoặc giao diện dòng lệnh.
Bài viết đang sử dụng Command Prompt để tải xuống Ubuntu cho hướng dẫn này. Nhập lệnh bên dưới và nhấn Enter trên bàn phím của bạn để làm như vậy.
wsl --install -d Ubuntu
Lưu ý: Nếu bạn muốn cài Kali Linux, hãy viết kali-linux vào lệnh trên.
Bước 4: Nhập tên người dùng và mật khẩu UNIX.
Bước 5: Đóng cửa sổ UNIX bằng cách gõ exit và nhấn Enter. Lặp lại quá trình để đóng cửa sổ CMD.
Bạn đã cài đặt thành công WSL và hệ điều hành Linux. Để tạo SSH key bằng WSL, hãy làm theo các bước bên dưới.
Tạo SSH key bằng WSL
Bước 1: Click vào biểu tượng Windows. Tìm kiếm Ubuntu và chọn Run as administrator. Khi được nhắc, hãy nhấp vào Yes.
Bước 2: Nhập lệnh bên dưới để tạo SSH key và nhấn Enter.
ssh-keygen -t rsa -b "4096"
Bước 3: Cung cấp đường dẫn mong muốn và nhấn phím Enter. Nếu không, hãy nhấn phím Enter để lưu file ở vị trí mặc định.
Bước 4: Nhập cụm mật khẩu bạn muốn sử dụng và nhấn Enter. Bạn cần phải làm điều này hai lần để xác nhận.
Lưu ý: Bạn sẽ không thể nhìn thấy bất cứ điều gì bạn gõ khi nhập mật khẩu nhưng công cụ sẽ lưu nó khi bạn nhập, vì vậy hãy đảm bảo rằng không có lỗi đánh máy.
Ngoài ra, nếu bạn không muốn sử dụng bất kỳ cụm mật khẩu nào, bạn chỉ cần nhấn Enter hai lần.
Cảnh báo: Bạn không nên sử dụng cụm mật khẩu trống vì lý do bảo mật.
Bước 5: Cuối cùng gõ exit và nhấn Enter để đóng cửa sổ.
Bạn đã tạo thành công SSH key. Hãy truy cập trang web nơi bạn đã lưu trữ nó để kiểm tra. Ở đó, bạn sẽ tìm thấy hai key. Bạn có thể phân biệt chúng bằng phần mở rộng:
- Public key có phần mở rộng .pub.
- Private key không có phần mở rộng.
Giải thích code
Lệnh SSH điển hình có thể hỗ trợ bạn tạo SSH key như sau:
ssh-keygen -t rsa -N "" -b "2048" -C "key comment" -f path/root_name
Dưới đây là ý nghĩa của từng ký hiệu hoặc ký tự trong lệnh.
- -t rsa: Chỉ định loại key cần tạo, trong trường hợp này là rsa. RSA (Rivest–Shamir–Adleman) là một thuật toán an toàn và được sử dụng rộng rãi cho mật mã public key.
- -N “”: Đặt cụm mật khẩu thành một chuỗi trống, nghĩa là key sẽ không được bảo vệ. Do đó, bất kỳ ai có quyền truy cập vào file private key đều có thể sử dụng nó mà không cần mật khẩu.
- -b “2048”: Điều này xác định kích thước key, được đặt thành 2048 bit. Bạn nên sử dụng kích thước key lớn hơn vì nó mang lại khả năng bảo mật tốt hơn.
Lưu ý: Kích thước key lớn hơn sẽ mất nhiều thời gian hơn để tạo và sử dụng.
- -C “key comment”: Cho phép bạn thêm nhận xét vào file key được tạo. Điều này có thể hữu ích trong các tình huống thực tế vì bạn sẽ làm việc với nhiều SSH key để truy cập các thiết bị từ xa khác nhau.
- -f path/root_name: Chỉ định đường dẫn và tên file cho cặp key được tạo. Tên file sẽ có root_name được cung cấp kèm theo phần mở rộng .pub cho public key và .pem cho private key (ví dụ: root_name.pub và root_name.pem).
3. Sử dụng PuTTY
PuTTY là một trong những trình giả lập terminal mã nguồn mở và miễn phí kiểu cũ, console nối tiếp và các ứng dụng truyền file mạng. Nó hỗ trợ một số giao thức mạng, bao gồm SSH, Telnet, rlogin và kết nối socket thô. Thực hiện theo các bước được mô tả bên dưới để tạo SSH key trên Windows bằng PuTTY.
Bước 1: Khởi chạy trình duyệt web và truy cập trang web chính thức của PuTTY. Tải xuống và cài đặt PuTTY.
Bước 2: Nhấn phím tắt Windows + S để mở Windows Search, gõ PuTTYgen và nhấn Open.
Bước 3: Trong phần Type of key to generate, hãy chọn một loại (ví dụ: RSA). Nhập số bit mong muốn vào key được tạo. Nhấp vào nút Generate.
Bước 4: Nhấp vào Save public key và chọn vị trí để lưu file. Đổi tên file bằng loại key và thêm phần mở rộng “.pub” (ví dụ: id_rsa.pub cho RSA).
Bước 5: Cuối cùng, nhập cụm mật khẩu và xác nhận nó. Đi tới tab Conversions ở trên cùng và nhấp vào Export OpenSSH key cho private key.
Bước 6: Chọn vị trí lưu private key và nhớ rằng không có phần mở rộng nào được sử dụng sau tên file. Hơn nữa, bạn nên sử dụng tên tương tự với public key (ví dụ: id_rsa).
Sự khác biệt giữa key RSA và Ed25519 là gì?
Trong các bước trên, bài viết đã thảo luận về hai loại key SSH: RSA và Ed25519. Nhưng chúng khác nhau như thế nào?
- Thuật toán: RSA (Rivest-Shamir-Adleman) sử dụng mã hóa bất đối xứng, trong khi Ed25519 sử dụng cả đường cong elip và mã hóa bất đối xứng.
- Kích thước key: Key RSA có kích thước key thay đổi, từ 1024 đến 4096 bit. Ed25519 có kích thước key cố định là 256 bit, giúp nó nhanh hơn RSA.
- Bảo mật: Ed25519 thường được coi là an toàn hơn và có khả năng chống lại các cuộc tấn công.
- Hiệu suất: Ed25519 nhanh và hiệu quả hơn RSA.
- Khả năng tương thích: RSA được hỗ trợ rộng rãi hơn, nhưng việc áp dụng Ed25519 đang ngày càng tăng.
Cuối cùng, bạn có thể sử dụng thuật toán mã hóa tùy thuộc vào hệ thống của mình. Việc tạo SSH key thật dễ dàng với các phương pháp có sẵn trong Windows và cần được cân nhắc vì những rủi ro trực tuyến nghiêm trọng khi truy cập hệ thống từ xa.