Я пытаюсь настроить ssh-аутентификацию с ключевыми файлами вместо имени пользователя / пароля. Клиент - это Windows-бокс с 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 AAAAB3NzaC1yc2EAAAABJQAAAIEAr3Qo6T5XU06ZigGOd3eKvfBhFLhg5kWv8lz6
qJ2G9XCbexlPQGanPhh+vcPkhor6+7OmB+WSdHeNO652kTofnauTKcTCbHjsT7cJ
GNrO8WVURRh4fabknUHPmauerWQZ6TgRPGaz0aucU+2C+DUo2SKVFDir1vb+4u83
AV1pKxs=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 (я проверил, что закрытый ключ все еще находится в Соединении> SSH> 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]
sshd: error: key_read: uudecode AAAAB3N
ошибкойauth.log
?