Computer >> Hướng Dẫn Máy Tính >  >> Phần Mềm >> Phần Mềm

Cách tạo khóa SSH trên Windows, Mac và Linux

Nếu bạn muốn kết nối từ xa đến một máy tính, một trong những phương pháp tốt và an toàn nhất là sử dụng kết nối Secure Shell (SSH). Điều này tạo ra kết nối được mã hóa giữa bạn và máy chủ từ xa, đảm bảo dữ liệu truyền đi không bị chặn hoặc giám sát.

Bạn cũng có thể dùng SSH làm đường hầm cho các lưu lượng khác, như kết nối VNC an toàn qua SSH. Một cách làm cho kết nối SSH an toàn hơn là sử dụng khóa SSH, thay thế mật khẩu dễ bị giải mã bằng khóa mã hóa 617 chữ số. Dưới đây là cách tạo khóa SSH mới trên Windows, Mac và Linux.

Khóa SSH là gì?

Khóa SSH cho phép tạo kết nối an toàn đến máy chủ hoặc PC từ xa mà không dùng mật khẩu, sử dụng giao thức Secure Shell. Khóa SSH được tạo thành cặp, gồm khóa riêng (private key) và khóa công khai (public key) gắn liền với nhau — không thể dùng cái này mà thiếu cái kia.

Trong hầu hết trường hợp, khóa công khai nằm trên PC hoặc máy chủ từ xa để mã hóa kết nối. Khóa riêng sau đó dùng để xác thực với thiết bị từ xa đó, cho phép bạn kết nối và sử dụng mà không cần cung cấp mật khẩu.

Khóa công khai và khóa riêng SSH là hai phần của một toàn thể — không có khóa riêng, bạn không thể xác thực với khóa công khai và thiết lập kết nối, và ngược lại, không có khóa công khai, khóa riêng vô dụng. Bạn có thể tạo khóa SSH mới trên Windows, Mac, Linux, sau đó chuyển khóa công khai đến thiết bị từ xa.

Khóa riêng được lưu an toàn trên PC hoặc Mac của bạn. Quan trọng là phải lưu bản sao khóa này an toàn (ví dụ: dùng trình quản lý mật khẩu). Nếu mất, bạn có thể không thể thiết lập lại kết nối từ xa.

Cũng quan trọng là không chia sẻ khóa công khai hay khóa riêng với người khác, đặc biệt là khóa riêng (hoặc cụm mật khẩu giải mã nó). Nếu kẻ xấu có khóa riêng, họ có thể thiết lập kết nối đến thiết bị từ xa của bạn mà không cần xác thực thêm.

Cách dùng Windows tạo khóa SSH

Bạn có thể dùng Windows để tạo khóa SSH bằng client OpenSSH tích hợp hoặc client PuTTY phổ biến của bên thứ ba. Nếu thích giao diện đồ họa (GUI) để tạo khóa SSH, PuTTY là lựa chọn tốt. Nếu muốn dùng phần mềm tích hợp, hãy dùng OpenSSH (qua Windows PowerShell).

Dùng OpenSSH qua Windows PowerShell

  1. Nếu muốn dùng OpenSSH, trước tiên kiểm tra xem nó đã được bật chưa. Chuột phải menu Start và chọn Settings (Cài đặt).
  2. Trong menu Settings, chọn Apps > Apps & features > Optional features (Tính năng tùy chọn).
  3. Tìm trong menu Optional features mục OpenSSH Client. Nếu không có, chọn Add a feature (Thêm tính năng).
  4. Chọn tùy chọn OpenSSH Client, rồi chọn Install (Cài đặt). Đợi vài phút để Windows cài đặt phần mềm cần thiết. Nếu muốn dùng SSH kết nối đến PC Windows của bạn, hãy cũng chọn tùy chọn OpenSSH Server.
  5. Với OpenSSH đã cài, chuột phải menu Start và chọn Windows PowerShell (Admin).
  6. Trong cửa sổ Windows PowerShell mới, gõ ssh-keygen và nhấn phím enter. Bạn có thể gõ vị trí lưu và tên file mới cho khóa, hoặc nhấn enter lần nữa để lưu file trong thư mục C:\Users\user\.ssh\ (thay user bằng thư mục người dùng của bạn).

    Công cụ ssh-keygen dùng mã hóa RSA mặc định, nhưng bạn có thể chuyển sang dạng mã hóa khác bằng cách gõ ssh-keygen -t method, thay method bằng một trong các tùy chọn mã hóa có sẵn (dsa, ecdsa, ed25519, rsa).
  7. Tiếp theo, bạn cần nhập cụm mật khẩu (passphrase). Điều này mã hóa khóa riêng trên PC và thường được khuyến nghị, tuy không bắt buộc. Bạn có thể dùng từ hoặc cụm từ dễ nhớ, hoặc mật khẩu an toàn. Gõ cụm mật khẩu và nhấn enter để xác nhận, hoặc để trống và nhấn enter để bỏ qua.
  8. Sau khi thêm cụm mật khẩu, Windows sẽ tạo khóa cần thiết trong thư mục C:\Users\user\.ssh\ (thay user bằng tên thư mục người dùng). Nếu dùng tên file mặc định, file id_rsa.pub là khóa công khai, còn id_rsa (không có phần mở rộng) là khóa riêng. Sau khi tạo khóa, bạn cần di chuyển khóa công khai (id_rsa.pub) vào thư mục .ssh trên PC, Mac hoặc máy chủ từ xa.

Dùng PuTTY

Client SSH nổi tiếng PuTTY là client mặc định cho hầu hết người dùng Windows. Nó bao gồm các công cụ khác để thiết lập kết nối SSH, trong đó có PuTTYgen, công cụ tạo khóa SSH mới.

  1. Để dùng PuTTY tạo khóa SSH, tải PuTTY cho PC và cài đặt. Sau khi cài, chạy PuTTYgen (công cụ tạo SSH đi kèm) từ menu Start, chọn RSA từ tùy chọn Type of key to generate (Loại khóa để tạo), sau đó chọn Generate (Tạo). Bạn cũng có thể chọn các tùy chọn mã hóa khác, nhưng các bước dưới có thể khác.
  2. Phần trong quá trình tạo khóa là di chuyển chuột ngẫu nhiên. Dùng chuột hoặc trackpad làm điều này ở khu vực ngay dưới thanh tiến trình cho đến khi cặp khóa được tạo.
  3. Nếu muốn thêm cụm mật khẩu cho khóa, gõ vào ô Key passphrase và Confirm passphrase, sau đó chọn Save public key (Lưu khóa công khai) và Save private key (Lưu khóa riêng). Bạn cũng có thể chọn văn bản trong ô Public key for pasting into OpenSSH authorized_keys, chuột phải chọn Copy để sao chép và dán vào file thủ công.
  4. Với khóa đã lưu, bạn có thể di chuyển khóa công khai đến PC, Mac hoặc máy chủ từ xa. Đối với khóa riêng, bạn có thể cần di chuyển vào thư mục C:\Users\user\.ssh\ (thay user bằng thư mục người dùng đúng) để dùng với client SSH ưa thích.

Cách tạo khóa SSH trên Linux hoặc Mac

OpenSSH là bộ công cụ tiêu chuẩn vàng cho quản lý SSH, và giống như phiên bản Windows, công cụ ssh-keygen vẫn là cách tốt nhất để tạo khóa SSH mới trên Mac hoặc Linux.

Do đó, công cụ GUI tạo khóa SSH hiếm và không được khuyến nghị phổ biến. Vì công cụ OpenSSH đi kèm mọi Mac và hầu hết bản phân phối Linux, các bước dưới đây hoạt động cho cả hai nền tảng.

  1. Để bắt đầu, mở cửa sổ terminal mới trên PC Linux hoặc Mac. Nếu muốn dùng Mac tạo khóa SSH, bạn có thể chạy app Terminal từ Launchpad. Các bước mở terminal mới trên PC Linux sẽ khác tùy bản phân phối.
  2. Trong cửa sổ terminal mới trên Linux hoặc Mac, gõ ssh-keygen và nhấn phím enter. Giống ssh-keygen trên Windows, phiên bản Linux và Mac mặc định dùng mã hóa RSA. Nếu muốn dùng mã hóa khác, gõ ssh-keygen -t method, thay method bằng hình thức mã hóa bạn muốn (ví dụ: dsa, ecdsa, ed25519, rsa).
  3. Tiếp theo, xác định nơi lưu khóa SSH mới — tên file và vị trí mặc định sẽ hiển thị trong ngoặc tròn trong terminal. Nếu muốn lưu ở nơi khác với tên file khác, gõ vị trí và tên file mới, rồi nhấn enter.
  4. Kế tiếp, nhập cụm mật khẩu để mã hóa khóa riêng (nếu muốn dùng). Gõ cụm mật khẩu hai lần, hoặc nhấn enter hai lần để để trống (dù không khuyến nghị).
  5. Lúc này, khóa SSH sẽ được tạo tại vị trí lưu bạn chỉ định và dùng tên file mặc định id_rsa cho mã hóa RSA (id_rsa.pub cho khóa công khai và id_rsa cho khóa riêng). Bạn cần di chuyển khóa công khai (id_rsa.pub) đến PC, Mac hoặc máy chủ từ xa để thiết lập kết nối SSH.

Thiết lập kết nối an toàn bằng SSH

Sau khi tạo khóa SSH, bạn cần sao chép khóa công khai đến PC, Mac hoặc máy chủ từ xa. Điều này liên kết với khóa riêng, cho phép client SSH ưa thích thiết lập kết nối SSH an toàn mà không cần mật khẩu thông thường. Ví dụ, bạn có thể dùng SSH kết nối từ xa đến Mac khác.

Kết nối SSH an toàn cũng giúp vượt qua tường lửa trường học hoặc nơi làm việc bằng đường hầm SSH. Bạn cũng có thể dùng SSH kết nối (và cập nhật) Raspberry Pi hoặc PC/server Linux khác. Tuy nhiên, bạn cần bật OpenSSH server nếu muốn làm điều này trên Windows 10.