Tôi muốn sshd xác minh khóa chung của người dùng và sau đó nhắc nhập mật khẩu của họ, thay vì chỉ một hoặc khác. Điều này có thể không?
Tôi muốn sshd xác minh khóa chung của người dùng và sau đó nhắc nhập mật khẩu của họ, thay vì chỉ một hoặc khác. Điều này có thể không?
Câu trả lời:
Không phải hiện tại. Nhưng có một số bản vá nổi xung quanh được cho là để thêm điều này.
Điều này cuối cùng đã có sẵn kể từ OpenSSH 6.2 (phát hành tháng 3 năm 2013), sử dụng AuthenticationMethods
tùy chọn cấu hình.
Chẳng hạn, bạn có thể thêm dòng sau sshd_config
để yêu cầu xác thực cả khóa công khai và mật khẩu:
AuthenticationMethods publickey,password
Khi đăng nhập ssh
và scp
trước tiên sẽ thực hiện xác thực khóa chung, sau đó nhắc nhập mật khẩu:
$ ssh user@example.org
Authenticated with partial success.
user@example.org's password:
Nếu bạn có mật khẩu trong tệp khóa riêng của mình, trước tiên bạn sẽ được nhắc về điều đó. Ví dụ sử dụng PuTTY :
Using username "user".
Authenticating with public key "rsa-key-20131221-user"
Passphrase for key "rsa-key-20131221-user":
Further authentication required
user@example.org's password:
OpenSSH trong RHEL / CentOS 6.3 hiện hỗ trợ tính năng này, mặc dù tôi không thể tìm thấy nó được đề cập trong ghi chú phát hành OpenSSH. Từ ghi chú phát hành của RHEL :
SSH hiện có thể được thiết lập để yêu cầu nhiều cách xác thực (trong khi trước đó SSH cho phép nhiều cách xác thực trong đó chỉ có một cách được yêu cầu để đăng nhập thành công); ví dụ: đăng nhập vào máy hỗ trợ SSH yêu cầu nhập cả cụm mật khẩu và khóa chung. Các tùy chọn
RequiredAuthentications1
vàRequiredAuthentications2
có thể được cấu hình trong/etc/ssh/sshd_config
tệp để chỉ định xác thực được yêu cầu để đăng nhập thành công. Ví dụ:~]# echo "RequiredAuthentications2 publickey,password" >> /etc/ssh/sshd_config
Để biết thêm thông tin về các
/etc/ssh/sshd_config
tùy chọn đã nói ở trên , hãy tham khảosshd_config
trang người đàn ông.
Có thể nhưng theo một cách hạn chế và hạn chế. Đầu tiên bạn chỉ cho phép xác thực khóa công khai. Sau đó, /etc/ssh/sshd_config
thêm một ForceCommand
thực thi một tập lệnh sẽ kiểm tra mật khẩu.
Kịch bản lệnh sẽ phá vỡ SFTP trừ khi bạn kiểm tra lệnh đó là sftp và cho phép nó thông qua mà không cần mật khẩu.
Tôi chưa bao giờ thử điều này để ai đó có thể thấy nhiều vấn đề hơn.