Saya memiliki pengaturan server 12.10 di mesin virtual dengan jaringannya diatur ke dijembatani (pada dasarnya akan terlihat sebagai komputer yang terhubung ke switch saya).
Saya menginstal opensshd via apt-get
dan dapat terhubung ke server menggunakan dempul dengan nama pengguna dan kata sandi saya.
Saya kemudian mulai mencoba membuatnya menggunakan otentikasi kunci publik / pribadi. Saya melakukan yang berikut:
- Menghasilkan kunci menggunakan PuttyGen.
- Memindahkan kunci publik ke
/etc/ssh/myusername/authorized_keys
(saya menggunakan direktori home terenkripsi). Atur
sshd_config
seperti:PubkeyAuthentication yes AuthorizedKeysFile /etc/ssh/%u/authorized_keys StrictModes no PasswordAuthentication no UsePAM yes
Ketika saya terhubung menggunakan dempul atau WinSCP, saya mendapatkan pesan kesalahan mengatakan Tidak ada metode otentikasi yang didukung (server mengirim kunci publik).
Jika saya menjalankan sshd
dalam mode debug, saya melihat:
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
Mengapa ini terjadi dan bagaimana saya bisa memperbaikinya?