sshpass falhando com o código de saída 6

0

Minha configuração é a seguinte:

  • A é onde eu começo
  • o nó B é a máquina do gateway
  • o nó C é o destino.

De A a B Eu configurei a autenticação de chave pública SSH, mas de B a C Eu não tenho permissão para.

Então, do nó A , eu uso o seguinte encantamento que funciona de uma máquina diferente (Ubuntu 14.04):

sshpass -p secretpass ssh -oProxyCommand="ssh -W %h:%p username@B" username@C

... no entanto, quando tento de um local diferente com outra máquina (Ubuntu 16.04 - embora duvide que seja relevante), a invocação de sshpass retorna prontamente sem nenhum tipo de saída e um código de saída (obtido com echo $? ) de 6.

Mais intrigante é o fato de que, se eu faço as etapas separadamente, elas são bem-sucedidas:

A: $ ssh username@B   (directly access B without being prompted for password)
B: $ ssh username@C   (prompted for password, provided 'secretpass')
C: $                  (reached my destination)
    
por Marcus Junius Brutus 16.11.2016 / 16:08

1 resposta

2

Ok, então eu descobri qual era o problema. Desde que eu estava usando este script pela primeira vez nesta máquina eu tive que primeiro fazer o seguinte (sem sshpass ):

ssh -oProxyCommand="ssh -W %h:%p username@B" username@C

Fui então solicitado com:

The authenticity of host 'C <no hostip for proxy command>)' can't be established.

RSA key fingerprint is SHA256:... .

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'C' (RSA) to the list of known hosts

... uma vez que eu aceitei o acima, eu pude usar o encantamento que eu indaguei na minha pergunta sem mais problemas.

Portanto, esta falha foi devido ao encantamento não ser capaz de responder ao pedido de autenticidade que aparece apenas uma vez.

    
por 16.11.2016 / 18:08

Tags