Я пытаюсь настроить ssh-аутентификацию с помощью файлов ключей вместо имени пользователя / пароля. Клиент - это Windows box, работающий под управлением PuTTY, а сервер - сервер Ubuntu 12.04 LTS.
Я скачал puttygen.exe и заставил его сгенерировать пару ключей. В /etc/ssh/sshd_config
У меня есть эта строка:
AuthorizedKeysFile %h/.ssh/authorized_keys
и в файле открытого ключа моего клиента написано следующее:
---- BEGIN SSH2 PUBLIC KEY ----Comment: "my@email.address.com"ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAr3Qo6T5XU06ZigGOd3eKvfBhFLhg5kWv8lz6qJ2G9XCbexlPQGanPhh+vcPkhor6+7OmB+WSdHeNO652kTofnauTKcTCbHjsT7cJGNrO8WVURRh4fabknUHPmauerWQZ6TgRPGaz0aucU+2C+DUo2SKVFDir1vb+4u83AV1pKxs=my@email.address.com---- END SSH2 PUBLIC KEY ----
Я скопировал часть из "ssh-rsa AAA" в "my@email.address.com" ; и поместите это в файл ~/.ssh/authorized_keys
на моем сервере (в моем собственном домашнем каталоге). В PuTTY в разделе Connection > SSH > Auth я ввел путь к закрытому ключу, который он сгенерировал на моем клиенте, и сохранил настройки сеанса.
Я перезапустил ssh-сервер с помощью
sudo service ssh restart
Теперь, если я загружаю профиль в PuTTY (я проверил, что закрытый ключ все еще находится в соединении & gt; SSH & gt; Auth и что путь правильный) и запускаю профиль, он говорит
Server refused our key
Я попытался поместить открытый ключ в файл под каталог ./ssh/authorized_keys/
но это не помогло, поэтому я использовал ./ssh/authorized_keys
как файл, вставив в него ключ. Я также попытался сгенерировать пару закрытого / открытого ключей на сервере, поместив открытый ключ в ./ssh/authorized_files
и загружаю личный файл в PuTTY на моего клиента. Перезагрузка сервера тоже не помогла.
Я обнаружил, что ошибка может быть устранена путем помещения ключа в место за пределами домашней папки пользователя, но это полезно только в том случае, если домашняя папка зашифрована, а это не так.
Также попытался сгенерировать 4096-битный ключ, думая, что, возможно, 1024 - это слишком мало.
Как я могу заставить это работать? Спасибо!
РЕДАКТИРОВАТЬ:
Хорошо, /var/log/auth.log
сказал:
sshd: Authentication refused: bad ownership or modes for directory /home/vorkbaard/.ssh
Google говорит мне ~/.ssh/
должно быть 700 и и ~/.ssh/authorized_keys
должно быть 600, так что я так и сделал. Сейчас /var/log/auth.log
говорит:
sshd: error: key_read: uudecode AAAAB3N [etc etc etc until about 3/4 of my public key]