Назад | Перейти на главную страницу

Как я могу заставить sshd сказать мне, почему он не проходит аутентификацию с открытым ключом?

Я использую OpenSSH 6.9p1 (на Lubuntu) в качестве своего SSH-сервера. При попытке подключиться к нему (используя SSH-клиент в Cygwin) я продолжаю возвращаться к аутентификации по паролю, несмотря на то, что я правильно сгенерировал свои ключи, поместил их в авторизованный файл ключей на сервере, проверил разрешения и т. Д.

Итак, я смотрю в /var/log/auth.log чтобы увидеть, что говорит сервер. Я нахожу это:

Nov  1 09:50:10 er-thinkpad sshd[16148]: Accepted password for joeuser from 192.168.2.6 port 53325 ssh2
Nov  1 09:50:10 er-thinkpad sshd[16148]: pam_unix(sshd:session): session opened for user joeuser by (uid=0)
Nov  1 09:50:10 er-thinkpad systemd-logind[590]: New session 497 of user joeuser.

... и ничего перед первой строчкой об ошибке аутентификации открытого ключа. Ладно, может быть, увеличим многословие. Так что я меняю LogLevel из INFO к VERBOSE и попробуй еще раз. Теперь я получаю:

Nov  1 09:53:12 er-thinkpad sshd[16269]: Connection from 192.168.2.6 port 53349 on 192.168.2.2 port 22
Nov  1 09:53:12 er-thinkpad sshd[16269]: Failed publickey for joeuser from 192.168.2.6 port 53349 ssh2: RSA SHA256:removedthis
Nov  1 09:53:12 er-thinkpad sshd[16269]: Failed publickey for joeuser from 192.168.2.6 port 53349 ssh2: ECDSA SHA256:removedthis
Nov  1 09:53:15 er-thinkpad sshd[16269]: Accepted password for joeuser from 192.168.2.6 port 53349 ssh2
Nov  1 09:53:15 er-thinkpad sshd[16269]: pam_unix(sshd:session): session opened for user joeuser by (uid=0)
Nov  1 09:53:15 er-thinkpad systemd-logind[590]: New session 499 of user joeuser.
Nov  1 09:53:15 er-thinkpad sshd[16269]: User child is on pid 16271
Nov  1 09:53:15 er-thinkpad sshd[16271]: Starting session: shell on pts/5 for joeuser from 192.168.2.6 port 53349

Так здорово, это не удалось, но Зачем это не удалось? Как я могу заставить sshd сказать мне это?


PS - Просто чтобы вы знали, вот что видит клиент:

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: /home/joeuser/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password
debug1: Skipping ssh-dss key /home/joeuser/.ssh/id_dsa for not in PubkeyAcceptedKeyTypes
debug1: Offering ECDSA public key: /home/joeuser/.ssh/id_ecdsa
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/joeuser/.ssh/id_ed25519
debug1: Next authentication method: password

На стороне сервера установите уровень журнала на DEBUG3. На стороне клиента подключитесь к -vvv вариант (который дает вам DEBUG3 на стороне клиента тоже).