1

Я могу войти на свой сервер, используя сертификат, если я ввожу команду непосредственно в оболочке:

$ ssh -p 26000 rambo@jumanji.gov

Однако, когда я настраиваю этот хост в .ssh/config, возвращается к аутентификации по паролю.

Host jumanji
  HostName jumanji.gov
  User rambo
  Port 26000
  IdentityFile ~/.ssh/jumanji_rsa.pub

так

$ ssh jumanji
rambo@jumanji.gov's password

Ранее SSH жаловался на то, что разрешения для jumanji_rsa.pub были слишком открыты и установлены на 644. Я изменил его на 600 и потерял ошибку прав доступа и получил запасной пароль. Затем я изменил его обратно на 644, и SSH по-прежнему не жалуется на разрешения, но все еще хочет пароль.

Я также перезапустил sshd несколько раз.

Вывод ssh -v jumanji за запрос в комментариях:

$ ssh -v jumanji
OpenSSH_5.9p1, OpenSSL 0.9.8x 10 May 2012
debug1: Reading configuration data /Users/bronson/.ssh/config
debug1: /Users/bronson/.ssh/config line 11: Applying options for jumanji
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 53: Applying options for *
debug1: Connecting to jumanji.gov [192.***.***.**] port 26000.
debug1: Connection established.
debug1: identity file /Users/bronson/tmp/ssh/jumanji_rsa.pub type -1
debug1: identity file /Users/bronson/tmp/ssh/jumanji_rsa.pub-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.0p1 Debian-4
debug1: match: OpenSSH_6.0p1 Debian-4 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.9
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 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 14:3b:75:e0:03:24:f9:f9:69:3d:9d:80:14:3d:1c:bd
debug1: checking without port identifier
debug1: Host 'jumanji.gov' is known and matches the RSA host key.
debug1: Found key in /Users/bronson/.ssh/known_hosts:15
debug1: found matching key w/out port
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: Trying private key: /Users/bronson/tmp/ssh/jumanji_rsa.pub
debug1: Next authentication method: password
rambol@jumanji.gov's password:

1 ответ1

2

600 - правильные права доступа - как для вашей конфигурации ssh, так и для вашего личного ключа. IdentityFile должен указывать на ваш закрытый ключ, а не на открытый. Итак, вы должны хотеть:

Host jumanji
  HostName jumanji.gov
  User rambo
  Port 26000
  IdentityFile ~/.ssh/jumanji_rsa

Это предполагает, что содержимое jumanji_rsa.pub было добавлено к ~/.ssh/authorized_keys удаленного сервера.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .