Я настроил свой компьютер, чтобы сделать общедоступную/частную аутентификацию с удаленным сервером, но так или иначе это не работает сегодня.
Я сделал ssh ключевого генерала-t rsa, затем scp'd это к удаленному.
Я могу scp без пароля (использующий pub/priv ключ), но каждый раз, когда я пробую к SSH, он запрашивает пароль.
Что я могу сделать для аутентификации на одном только ключе?
Необходимо проверить, имеете ли Вы (sshd_config):
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
UsePAM yes <-- That one is usually the last line of the sshd_config
Затем то, что Ваш открытый ключ добавляется к authorized_keys в Вашем ~/.ssh/
. Последний (UsePAM yes
) очень важно, так как, если отключено это вынудит Вас пройти проверку подлинности с Вашей учетной записью Unix. PAM здесь, чтобы сказать, что аутентификация с закрытым ключом достаточна для входа в систему. В конечном счете, если это все еще не делает твердости, Вам, вероятно, придется проверить конфигурацию PAM.
Если Вы можете scp с ключом, но не ssh, он кажется, что Ваш scp клиент может найти ключ, но ssh клиент не может.
Так как Вы упомянули ssh-keygen -t rsa
Я собираюсь предположить, что Вы используете OpenSSH на UNIX некоторого вида, и Вы сохранили ключ в местоположении по умолчанию в некоторой учетной записи пользователя.
Вы зарегистрированы как пользователь кроме того с ключом (например. su
редактор или sudo
редактор), когда Вы выполняете ssh клиент? Если Вам будет нужно к ssh без пароля из той учетной записи также, то Вы, вероятно, захотите использовать ssh-keygen
в той учетной записи, и затем помещенный, что общественность учетной записи ssh вводит авторизованный файл ключей удаленного сервера вдоль стороны другая.