При миграции одного сервера на новое железо внезапно появилась проблема при авторизации с использованием ключей. ssh молча спрашивал пароль, а sshd ругался:
Jul 27 10:41:10 hostname sshd[15939]: Failed publickey for username from 192.168.x.x port 54310 ssh2
Гугл по данному сообщению поведал о тысячах пользователей, получавших такие сообщение из-за неправильных прав на файлы с ключами и т.д. Права на файлы естественным образом были правильные. Даже проверил, видит ли пользователя команда getent passwd
и уникален ли у него идентификатор. Попытки разобраться в проблеме изучая отладочные сообщения при запуске ssh -vvvvv
и sshd -ddd
тоже не увенчались успехом.
Решение проблемы нашлось случайно, при поиске чего же там народ предлагает добавить в /etc/pam.conf, после чего у них всё заработало. И собственно в обсуждениях я наткнулся на сообщение:
Thanks Ady, you saved my day. I was missing the account from /etc/shadow. Running pwconv fixed me right up.
А ведь я тоже люблю добавлять пользователей через vi /etc/passwd
, и тоже забыл выполнить pwconv
, только вот догадаться о том, что проблема именно в этом исходя из сообщения sshd......