Como posso configurar o nautilus para usar uma conexão ssh estabelecida por um script de espera?

2

Para automatizar uma conexão ssh, escrevi um script usando o expect, que funciona muito bem. No entanto, eu gostaria de usar este script na conexão do nautilus para a função do servidor. Minha idéia era incluir esse script de espera de alguma forma no arquivo .ssh / config, já que o nautilus é capaz de usar as conexões detalhadas lá, mas não sei como. Infelizmente, não posso copiar uma chave RSA para o servidor. É uma conexão multihop e não consigo gravar no primeiro servidor. Este primeiro servidor só pede uma senha e a máquina à qual eu posso conectar. Portanto, a senha não é realmente o problema, pois ela também pode ser fornecida pelo nautilus. Qualquer ajuda é apreciada, obrigado!

    
por Daniel Förster 03.03.2016 / 17:25

1 resposta

1

Você não pode usar a senha em ssh_config . Mas você pode usar o encaminhamento de porta (se permitido no jumpbox):

SSHPASS=password sshpass -e ssh -L 2222:remotehost:22 user@jumpbox

e depois

ssh -p 2222 localhost

trará você diretamente para o host remoto. Você pode colocar isso no seu ssh_config , como:

Host remote-forwarded
  Hostname localhost
  Port 2222

e, em seguida, conecte-se como

ssh remote-forwarded

De maneira semelhante, funcionará no nautilus.

Encaminhamento de porta proibido na caixa de salto

Neste caso, ficará mais complicado. Você precisará usar o comando proxy para configurar o encaminhamento de porta diretamente do host remoto. Você config será mais longo:

Host remote-forwarded
  Hostname localhost
  Port 2222
Host jumpbox
  Hostname jumpbox-host
Host remote
  Hostname remote-host
  ProxyCommand ssh -W %h:%p jumpbox
  LocalForward 2222 localhost:22

Caso contrário, deve funcionar da mesma forma, primeiro

SSHPASS=password sshpass -e ssh remote

e depois diretamente para o outro host:

ssh remote-forwarded
    
por 03.03.2016 / 17:34