Я намагаюся налаштувати аутентифікацію 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 у розділі З'єднання> 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
?