Por que minha sessão SSH está solicitando senha para apenas um host?

0

Eu tenho um ambiente onde todas as conexões SSH passam por uma caixa de salto. Há um monte de servidores Linux, mas para chegar a eles eu tenho que ssh para um bastien host em seguida.

Um host interno específico continua solicitando senha

firewall ~ $ ssh m4
Password:

Mas conexões para m4 de elswehere funcionam com chave auth fine.

/var/log/secure é inútil, sem erros.

 Jul 27 21:34:57 m4 sshd[29240]: pam_unix(sshd:session): session opened for user root by (uid=0)
 Jul 27 21:34:57 m4 sshd[29236]: Accepted keyboard-interactive/pam for root from firewall[192.168.9.248] port 4097 ssh2

 but from another host, pubkey works fine
 Jul 27 21:34:57 m4 sshd[29240]: Accepted publickey for root from m3[192.168.9.9] port 6090 ssh2

Por que o SSH solicitaria uma senha para essa combinação e não para outras?

    
por Criggie 28.07.2017 / 00:34

1 resposta

1

Corri ssh-add -L para confirmar que minha chave foi carregada

 firewall ~ $ ssh-add -L
 ssh-rsa AAAAB3NzaC1yc2EAA.....snip.....VBQ== rsa-key-20170210
 etc...

Então corri ssh -v m4 para ver o que o SSH achava que estava acontecendo ... e tive um momento de luz.

 firewall ~ $ ssh m4 -v
 OpenSSH_6.6.1, OpenSSL 1.0.1e-fips 11 Feb 2013
 debug1: Reading configuration data /root/.ssh/config
 debug1: /root/.ssh/config line 11: Applying options for m4
 debug1: Reading configuration data /etc/ssh/ssh_config
 debug1: /etc/ssh/ssh_config line 56: Applying options for *
 debug1: Connecting to m4 [192.168.9.74] port 22.
 debug1: fd 3 clearing O_NONBLOCK
 debug1: Connection established.
 debug1: permanently_set_uid: 0/0
 debug1: identity file /root/.ssh/id_rsa type 1
 ...snip
 debug1: Enabling compatibility mode for protocol 2.0
 debug1: Local version string SSH-2.0-OpenSSH_6.6.1
 debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
 debug1: match: OpenSSH_5.3 pat OpenSSH_5* compat 0x0c000000
 debug1: SSH2_MSG_KEXINIT sent
 debug1: SSH2_MSG_KEXINIT received
 debug1: kex: server->client aes128-ctr hmac-sha1 none
 debug1: kex: client->server aes128-ctr hmac-sha1 none
 debug1: kex: diffie-hellman-group-exchange-sha256 need=20 dh_need=20
 debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<7680<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 23:87:00:00:00:00:00:00:N0:N0:N0
 debug1: Host 'm4' is known and matches the RSA host key.
 debug1: Found key in /root/.ssh/known_hosts:1869
 debug1: ssh_rsa_verify: signature correct
 debug1: SSH2_MSG_NEWKEYS sent
 debug1: expecting SSH2_MSG_NEWKEYS
 debug1: SSH2_MSG_NEWKEYS received
 debug1: SSH2_MSG_SERVICE_REQUEST sent
 debug1: SSH2_MSG_SERVICE_ACCEPT received
 debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password,keyboard-interactive
 debug1: Next authentication method: gssapi-keyex
 debug1: No valid Key exchange context
 debug1: Next authentication method: gssapi-with-mic
 debug1: Unspecified GSS failure.  Minor code may provide more information
 No Kerberos credentials available (default cache: KEYRING:persistent:0)

 debug1: Unspecified GSS failure.  Minor code may provide more information
 No Kerberos credentials available (default cache: KEYRING:persistent:0)

 debug1: Next authentication method: keyboard-interactive
 Password:  ^C

Essa linha debug1: /root/.ssh/config line 11: Applying options for m4 me chamou a atenção - não deveria haver nada específico para esse host.

 Host 10.99.2.23       # m4 drac
    PasswordAuthentication=yes
    PubkeyAuthentication=no

Portanto, o host físico é um servidor Dell e possui uma porta OOB dedicada para acesso ao console. A Dell chama isso de porta DRAC e eu tenho um registro DNS configurado para m4-drac

O DRAC não está configurado para usar chaves públicas SSH para autenticação, portanto, essa configuração o impede de tentar. Mas a configuração estava sendo aplicada ao hostname m4 porque ele não honra o hash.

ANSWER O arquivo .config do ssh não observa o Hash como um delimitador de comentários.

    
por 28.07.2017 / 00:34