Открытые ключи SSH больше не работают?

У меня есть клиенты Ubuntu Server и OS X и Windows (Cygwin).

Несколько дней назад мне удалось успешно сгенерировать ключи RSA на клиенте и скопировать их на сервер с помощью:

ssh-copy-id <username>@<host>

И я легко смог SSH без запроса пароля.

Я создал cronjob, и клиент OS X каждую ночь делал бы резервную копию папки Documents и отправлял письмо с выводом.

Недавно я получил это по электронной почте.

Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at /SourceCache/rsync/rsync-45/rsync/io.c(453) [sender=2.6.9]

Когда я зашел на сервер вручную по SSH, я понял, что он снова запрашивает пароль.

Я попытался перезагрузить сервер и клиент, сгенерировав новый ключ RSA и повторно отправив его, изменив разрешения для папки.ssh как на сервере, так и на клиенте,

chmod 700 ~/.ssh

Я попытался изменить разрешения на домашний каталог сервера

chmod go-w ~

Попытался выполнить ту же процедуру с другого компьютера с OS X, и при копировании ключа SSH на сервер возникла та же ошибка при запросе пароля.

Когда я сделал -v при выполнении SSH на сервер, это то, что я получил (скрыл IP-адрес сервера, имя пользователя и ключ RSA)

Andrews-MacBook-Pro:~ USER-NAME$ ssh -v Ubuntu-User@"Server-IP"
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to "Server-IP" ["Server-IP"] port 22.
debug1: Connection established.
debug1: identity file /Users/USER-NAME/.ssh/id_rsa type 1
debug1: identity file /Users/USER-NAME/.ssh/id_rsa-cert type -1
debug1: identity file /Users/USER-NAME/.ssh/id_dsa type -1
debug1: identity file /Users/USER-NAME/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
debug1: match: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2 pat OpenSSH*
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr [email protected] none
debug1: kex: client->server aes128-ctr [email protected] none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA [RSA Key was Here]
debug1: Host '"Server-IP"' is known and matches the RSA host key.
debug1: Found key in /Users/USER-NAME/.ssh/known_hosts:3
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/USER-NAME/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /Users/USER-NAME/.ssh/id_dsa
debug1: Next authentication method: password
Ubuntu-User@"Server-IP"'s password: 

Когда я ввожу пароль, SSH работает, но я пытаюсь автоматизировать резервное копирование на сервер в полночь и не хотел бы постоянно вводить пароль.

Что я могу сделать, чтобы это исправить?

Спасибо.

Изменить: я заглянул в "/var/log/auth.log" и обнаружил, что верхняя строка может помочь. Ниже показано, как я набираю пароль и открываю журнал. Эта информация помогает?

Mar 23 12:58:26 SERVER-USERNAME sshd[8799]: pam_ecryptfs: Passphrase file wrapped
Mar 23 12:58:28 SERVER-USERNAME sshd[8795]: Accepted password for SERVER-USERNAME from "CLIENT-IP" port 55224 ssh2
Mar 23 12:58:28 SERVER-USERNAME sshd[8795]: pam_unix(sshd:session): session opened for user SERVER-USERNAME by (uid=0)
Mar 23 12:58:28 SERVER-USERNAME systemd-logind[689]: New session 10 of user SERVER-USERNAME.
Mar 23 12:59:00 SERVER-USERNAME sudo:   SERVER-USERNAME : TTY=pts/7 ; PWD=/home/SERVER-USERNAME ; USER=root ; COMMAND=/usr/bin/nano /var/log/auth.log
Mar 23 12:59:00 SERVER-USERNAME sudo: pam_unix(sudo:session): session opened for user root by SERVER-USERNAME(uid=0)

2 ответа

Решение

Я подключил монитор к Ubuntu Server (на нем установлена ​​версия Ubuntu 14 для настольных компьютеров, я полагаю) и после входа в систему увидел сообщение с просьбой создать фразу-пароль.

Я нажал на него и нажал Enter (для пустой фразы). После этого я перезагрузился, и SSH-логины без пароля снова заработали.

Прежде чем я отмечу это как завершенное, я дам несколько дней тестирования, чтобы убедиться, что это не было ничего другого.

Чтобы точно определить источник проблемы, попробуйте настроить пароль без пароля для локального хоста на сервере. Таким образом, вы имеете дело только с одной машиной, сервером. Если это работает, проблема вызвана клиентом (ами); если этого не произойдет, вам придется выяснить, что не так с самим сервером

Другие вопросы по тегам