Я только что обнаружил, что могу войти на свой сервер, если предоставлю недостающий файл клиенту ssh!
Что я могу проверить, чтобы узнать, почему и что я могу изменить, чтобы этого не произошло?
Вход в систему с отсутствующим файлом
$ ssh -i ~/.ssh/x user@server.com
Warning: Identity file /c/Users/G/.ssh/x not accessible: No such file or
directory.
Last login: Wed Aug 9 20:20:49 2017 from 192.168.15.250
user@server:~$
Не удается войти в систему с недействительным сертификатом
$ ssh -i ~/.ssh/invalid.pem user@server
Permission denied (publickey).
Успешный вход в систему
$ ssh -i ~/.ssh/valid.pem user@server
Last login: Wed Aug 9 20:21:07 2017 from 192.168.15.250
user@server:~$
Это единственные строки без комментариев в моем / etc / ssh / sshd_config
Host *
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes
GSSAPIDelegateCredentials no
В ответ на вопрос «Что я могу проверить, чтобы узнать почему»
ssh -vv
. Параметр -vv дает подробную отладку, показывающую, что происходит между нажатием клавиши возврата на локальном клиенте и отображением приглашения на удаленном сервере.
В ответ на вопрос "Почему я могу войти в систему по ssh без ключа или пароля?"
Это не то, что происходило. В этом конкретном случае соответствующий ключ, valid.pem
был продублирован в id_rsa
файл. Дубликат ключа использовался
На этом клиенте происходит следующее:
как показано здесь:
debug2: key: /c/Users/G/.ssh/id_rsa (0x0)
debug2: key: /c/Users/G/.ssh/id_dsa (0x0)
debug2: key: /c/Users/G/.ssh/id_ecdsa (0x0)
debug2: key: /c/Users/G/.ssh/id_ed25519 (0x0)
id_rsa
ключ. Как показано здесь debug1: Trying private key: /c/Users/G/.ssh/id_rsa
debug1: Authentication succeeded (publickey).