Mam konfigurację serwera 12.10 na maszynie wirtualnej z ustawionym mostkiem sieci (w zasadzie będzie to komputer podłączony do mojego przełącznika).
Zainstalowałem opensshd przez apt-get
i byłem w stanie połączyć się z serwerem używając putty z moją nazwą użytkownika i hasłem.
Następnie postanowiłem spróbować użyć uwierzytelniania za pomocą klucza publicznego / prywatnego. Zrobiłem następujące:
- Wygenerowano klucze za pomocą PuttyGen.
- Przeniesiono klucz publiczny do
/etc/ssh/myusername/authorized_keys
(korzystam z zaszyfrowanych katalogów domowych). Skonfiguruj
sshd_config
tak:PubkeyAuthentication yes AuthorizedKeysFile /etc/ssh/%u/authorized_keys StrictModes no PasswordAuthentication no UsePAM yes
Kiedy łączę się przy użyciu putty lub WinSCP, pojawia się komunikat o błędzie Brak dostępnych obsługiwanych metod uwierzytelniania (serwer wysłał klucz publiczny).
Jeśli działam sshd
w trybie debugowania, widzę:
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
Dlaczego tak się dzieje i jak mogę to naprawić?