Rain WikiWindows · Linux · Android

Khóa SSH

Khái niệmOpenSSHAn toàn để xóa: Không

Khóa SSH cho phép bạn đăng nhập vào máy chủ mà không cần mật khẩu. Một cặp khóa bao gồm khóa riêng tư được lưu trên máy tính của bạn và khóa công khai được sao chép vào tệp ~/.ssh/authorized_keys trên máy chủ. Các khóa được tạo bằng ssh-keygen, một phần của OpenSSH.

1Các loại khóa

Khóa Ed25519 ngắn, nhanh và được hỗ trợ bởi tất cả các phiên bản OpenSSH hiện tại; ssh-keygen -t ed25519 sẽ tạo ra một khóa loại này. Khóa RSA vẫn được hỗ trợ cho các hệ thống cũ hơn và nên có độ dài ít nhất 3072 bit.

2Cụm mật khẩu và tác nhân

Cụm mật khẩu (passphrase) giúp mã hóa khóa riêng tư trên đĩa, vì vậy tệp tin bị đánh cắp sẽ không thể bị sử dụng đơn lẻ. ssh-agent giữ khóa đã mở khóa trong bộ nhớ, vì vậy cụm mật khẩu chỉ cần nhập một lần cho mỗi phiên làm việc.

3Quyền truy cập

OpenSSH từ chối các khóa có tệp tin được cấp quyền quá mở. Khóa riêng tư chỉ nên được đọc bởi chủ sở hữu (600), và ~/.ssh cùng authorized_keys trên máy chủ không được phép ghi bởi người dùng khác.

Cách thiết lập đăng nhập bằng khóa

  1. Tạo khóa trên máy tính của bạn: ssh-keygen -t ed25519
  2. Chấp nhận tệp mặc định và nhập cụm mật khẩu.
  3. Sao chép khóa công khai vào máy chủ: ssh-copy-id user@server
  4. Đăng nhập để kiểm tra: ssh user@server
  5. Chỉ sau khi khóa hoạt động, hãy cân nhắc việc tắt đăng nhập bằng mật khẩu trên máy chủ.

Lưu ý

  • Không bao giờ chia sẻ hoặc tải lên khóa riêng tư (tệp không có đuôi .pub).
  • Kiểm tra đăng nhập bằng khóa trong phiên làm việc thứ hai trước khi tắt xác thực bằng mật khẩu, nếu không bạn có thể tự khóa quyền truy cập của chính mình.

Nguồn

  1. Trang hướng dẫn ssh-keygen(1) (OpenBSD) man.openbsd.org
  2. Trang hướng dẫn sshd(8), ĐỊNH DẠNG TỆP AUTHORIZED_KEYS (OpenBSD) man.openbsd.org

Xem xét lần cuối: