У мене встановлення сервера 12.10 у віртуальній машині з встановленою мережевою мережею (по суті, буде розглядатися як комп'ютер, підключений до мого комутатора).
Я встановив opensshd через apt-get
і зміг підключитися до сервера за допомогою putty з моїм іменем користувача та паролем.
Потім я почав намагатися змусити його використовувати аутентифікацію відкритих / приватних ключів. Я зробив наступне:
- Створено ключі за допомогою PuttyGen.
- Переміщено відкритий ключ у
/etc/ssh/myusername/authorized_keys
(я використовую зашифровані домашні каталоги). Налаштуйте
sshd_config
так:PubkeyAuthentication yes AuthorizedKeysFile /etc/ssh/%u/authorized_keys StrictModes no PasswordAuthentication no UsePAM yes
Коли я підключаюсь за допомогою шпаклівки або WinSCP, я отримую помилку: Немає доступних підтримуваних методів аутентифікації (сервер надіслав відкритий ключ).
Якщо я запускаю sshd
в режимі налагодження, я бачу:
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
Чому це відбувається і як я можу це виправити?