Tôi có một thiết lập máy chủ 12.10 trong một máy ảo với mạng được đặt thành cầu nối (về cơ bản sẽ được xem như một máy tính được kết nối với bộ chuyển mạch của tôi).
Tôi đã cài đặt opensshd thông qua apt-get
và có thể kết nối với máy chủ bằng cách sử dụng putty với tên người dùng và mật khẩu của tôi.
Sau đó tôi bắt đầu thử sử dụng xác thực khóa chung / riêng. Tôi đã làm như sau:
- Tạo các khóa bằng PuttyGen.
- Đã chuyển khóa công khai sang
/etc/ssh/myusername/authorized_keys
(Tôi đang sử dụng các thư mục nhà được mã hóa). Thiết lập
sshd_config
như vậy:PubkeyAuthentication yes AuthorizedKeysFile /etc/ssh/%u/authorized_keys StrictModes no PasswordAuthentication no UsePAM yes
Khi tôi kết nối bằng putty hoặc WinSCP, tôi gặp lỗi thông báo Không có phương thức xác thực được hỗ trợ nào (máy chủ đã gửi khóa công khai).
Nếu tôi chạy sshd
trong chế độ gỡ lỗi, tôi thấy:
PAM: initializing for "username"
PAM: setting PAM_RHOST to "192.168.1.7"
PAM: setting PAM_TTY to "ssh"
userauth-request for user username service ssh-connection method publickey [preauth]
attempt 1 failures 0 [preauth]
test whether pkalg/pkblob are acceptable [preauth[
Checking blacklist file /usr/share/ssh/blacklist.RSA-1023
Checking blacklist file /etc/ssh/blacklist.RSA-1023
temporarily_use_uid: 1000/1000 (e=0/0)
trying public key file /etc/ssh/username/authorized_keys
fd4 clearing O_NONBLOCK
restore_uid: 0/0
Failed publickey for username from 192.168.1.7 port 14343 ssh2
Received disconnect from 192.168.1.7: 14: No supported authentication methods available [preauth]
do_cleanup [preauth]
monitor_read_log: child log fd closed
do_cleanup
PAM: cleanup
Tại sao điều này xảy ra và làm thế nào tôi có thể khắc phục điều này?