Làm cách nào để thiết lập Xác thực khóa công khai cho SSH?Làm cách nào để thiết lập Xác thực khóa công khai?
Trả lời
Nếu bạn đã cài đặt SSH, bạn sẽ có thể để chạy ..
ssh-keygen
Sau đó đi qua các bước, bạn sẽ có hai tệp, id_rsa
và id_rsa.pub
(khóa đầu tiên là khóa riêng của bạn, khóa thứ hai là khóa công khai của bạn - khóa bạn sao chép vào máy từ xa s)
Sau đó, kết nối với máy từ xa mà bạn muốn đăng nhập, vào tệp ~/.ssh/authorized_keys
thêm nội dung của tệp id_rsa.pub
đó.
Oh, và chmod 600
tất cả các id_rsa*
file (cả trong nước và từ xa), vì vậy không những người dùng khác có thể đọc chúng:
chmod 600 ~/.ssh/id_rsa*
Tương tự, đảm bảo ~/.ssh/authorized_keys
tập tin từ xa là chmod 600
thêm:
chmod 600 ~/.ssh/authorized_keys
Sau đó, khi bạn thực hiện ssh remote.machine
, nó sẽ yêu cầu bạn nhập mật khẩu của khóa chứ không phải máy từ xa.
Để làm cho nó đẹp hơn để sử dụng, bạn có thể sử dụng ssh-agent
để giữ các phím giải mã trong bộ nhớ - điều này có nghĩa là bạn không cần phải gõ mật khẩu của cặp khóa của bạn mỗi lần duy nhất. Để khởi động đại lý, bạn chạy (bao gồm cả dấu ngoặc kép back-ve, mà eval đầu ra của lệnh ssh-agent
)
`ssh-agent`
Trên một số distro, ssh-agent được bắt đầu tự động. Nếu bạn chạy echo $SSH_AUTH_SOCK
và nó cho thấy một đường dẫn (có thể trong/tmp /) nó đã được thiết lập, vì vậy bạn có thể bỏ qua lệnh trước đó.
Sau đó, để thêm chìa khóa của bạn, bạn làm
ssh-add ~/.ssh/id_rsa
và nhập cụm từ mật khẩu của bạn. Nó được lưu trữ cho đến khi bạn gỡ bỏ nó (sử dụng lệnh ssh-add -D
, loại bỏ tất cả các khóa từ đại lý)
Đối với cửa sổ this là một giới thiệu tốt và hướng dẫn
Dưới đây là một số ssh-đại lý tốt cho các hệ thống khác ngoài Linux.
- Windows - pageant
- OS X - SSHKeychain
Nếu bạn phải tạo thư mục .ssh thì không đặt nó thành 600 như tôi hoặc bạn sẽ có một thời gian xấu . Thay vì đặt nó thành 700. :-) –
Tôi có thể đăng nhập từ máy không xác định bằng cách sử dụng khóa riêng đã được tạo cho máy khách đã biết/được định cấu hình để liên lạc với máy chủ không? Ý tôi là, khóa cá nhân này có thể được sử dụng để tự xác thực với máy chủ từ các máy khác, trong trường hợp khẩn cấp không? –
@ user01 Có, bạn có thể sao chép khóa riêng sang nhiều hệ thống và truy cập một máy chủ khác có khóa công khai tương ứng. –