Autenticação do certificado SSH via .ssh / config

1

Eu posso acessar meu servidor usando um certificado se eu emitir o comando diretamente no shell:

$ ssh -p 26000 [email protected]

No entanto, quando eu configuro este host em .ssh / config, volta para a autenticação por senha.

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

então

$ ssh jumanji
[email protected]'s password

Anteriormente, o SSH reclamava que as permissões do jumanji_rsa.pub eram muito abertas em 644. Mudei para 600 e perdi o erro de permissões e ganhei o fallback de senha. Então eu mudei de volta para 644 e o SSH ainda não reclama de permissões, mas ainda quer uma senha.

Eu também reiniciei o sshd várias vezes.

Saída de ssh -v jumanji por solicitação nos comentários:

$ 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
[email protected]'s password:
    
por Jack Frost 07.08.2013 / 18:30

1 resposta

2

600 são as permissões corretas - para sua configuração ssh e sua chave privada. IdentityFile deve apontar para sua chave privada, não para a pública. Então você deveria querer:

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

Isso presume que o conteúdo de jumanji_rsa.pub foi anexado ao ~/.ssh/authorized_keys do servidor remoto.

    
por 07.08.2013 / 19:26

Tags