Это что же такое творится, люди?
Полдня настраивал авторизацию SSH по ключу. И так, и эдак, и все рекомендации и рецепты прочитал - не логинится Putty и всё. Сервер все время требует пароль.
Что делал
Публичный и приватный ключ были сгенерированы через Puttygen. Публичный положил на сервер в файл:
~/.ssh/authorized_keys
В файл /etc/ssh/sshd_config прописал:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
Перезагрузил sshd на всякий случай. На клиенте в Putty указал для коннекта приватный ключ. И всеравно требуется пароль.
Как решил
Закралось подозрение, что sshd по каким-то причинам не видит ключа. Решил сгенерировать открытый и закрытый ключ на самом сервере:
ssh-keygen -t rsa -C 'myemail@mail.ru'
Открытый положил как ~/.ssh/authorized_keys. Закрытый скопировал на клиента. Указываю этот закрытый ключ в Putty - а Putty говорит: не понимаю такого формата.
Сравниваю форматы - действительно очень разные. Так, значит воспользоваться Linux-ключами в Putty не получится.
Тогда для интереса сравниваю форматы открытых ключей - тоже разные!
Puttygen генерирует открытый ключ такого вида:
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20121228"
AAALkjsfasdfkvKJHKJHkdsadasfjgQ50WpuUXFwHlA0STFJQT77nIp5PTo86qa+
RRNDQRxgaRt3ENk0sM38LJKJKGJHGsakKLYZxabZayRwxGHChNWfR+/5GkoPj93J
lpV1e2Sbr4Guogw5OBKJmwcDt3c7gQj+gX7XKJHsafdkjfaK345hs3QH4Bt/gwiL
2U/UhQM=
---- END SSH2 PUBLIC KEY ----
А ssh-keygen генерирует открытый ключ такого вида:
ssh-rsa AdPhkjhb487LhsDLOdaf0aREf ... MUFwE08g2xjEWNZ3==
И, соответственно, sshd не понимает формата Putty.
Для интереса решил сделать следующее. Преобразовал руками файл публичного ключа, сделанный Putty в формат ssh-keygen. Убрал переносы строк, сделал первыми символы «ssh-rsa ». То есть вот так:
ssh-rsa AAALkjsfasdfkvKJHKJHkdsa ... Bt/gwiL2U/UhQM=
На сервере поставил этот исправленный Puttygen открытый ключ, на клиенте - закрытый Puttygen ключ для него.
И о чудо! Смог зайти без пароля по ключу.
В статьях в интернете ни о каких таких свистоплясках не написано. Я вот не пойму, это мне так везет? Может быть, все об этой проблеме знают, и метод ручного редактирования ключа всем известен?