Estou tentando configurar o salto automático de SSH através de um servidor que não tem nc.
Isso funciona na linha de comando:
ssh -A gateway ssh steve@target
(Eu adicionei minha chave pública ao agente SSH).
No entanto, adicioná-lo a ~ / .ssh / config não:
Host target
User steveb
ProxyCommand ssh -A gateway ssh steve@targetip
$ ssh target
Pseudo-terminal will not be allocated because stdin is not a terminal.
^CKilled by signal 2.
Tentar forçar o problema -t
é divertido, mas não ajuda.
ProxyCommand ssh -A -t gateway ssh steve@targetip
$ ssh target
Pseudo-terminal will not be allocated because stdin is not a terminal.
Pseudo-terminal will not be allocated because stdin is not a terminal.
^CKilled by signal 2.
Mais -t
? Nada de bom.
ProxyCommand ssh -A -t -t gateway ssh steve@targetip
$ ssh target
tcgetattr: Inappropriate ioctl for device
^CKilled by signal 2.
Isso é possível? A maioria dos tutoriais (por exemplo, http://www.arrfab.net/blog/?p=246 ) sugere o uso nc
.
ssh
rhel
configuration
tty
Steve Bennett
fonte
fonte
Respostas:
ProxyCommand SSH sem netcat
O ProxyCommand é muito útil quando os hosts são acessíveis apenas indiretamente. Com o netcat, é relativamente direto:
Aqui {gw} e {host} são espaços reservados para o gateway e o host.
Mas também é possível quando o netcat não está instalado no gateway:
O / dev / tcp é um recurso interno do bash padrão. Os arquivos não existem. Para verificar se o bash possui esse recurso, use:
... no gateway.
Para garantir que o bash seja usado, use:
E ainda funciona em conjunto com o ControlMaster.
(Atualizado em 22 de outubro para incluir kill para limpar o gato de segundo plano) (Atualizado em 3 de março de 2011 para tornar os espaços reservados mais claros e explicar / dev / tcp)
100% de crédito para Roland Schulz. Aqui está a fonte:
http://www.rschulz.eu/2008/09/ssh-proxycommand-without-netcat.html
veja mais informações úteis nos comentários.
Também há mais aqui:
http://www.linuxjournal.com/content/tech-tip-tcpip-access-using-bash
http://securityreliks.securegossip.com/2010/08/enabling-devtcp-on-backtrack -4r1ubuntu /
ATUALIZAÇÃO : aqui está algo novo de Marco
Em referência a um ProxyCommand em ~ / .ssh / config, em que se tem uma linha como esta:
Marco diz:
O resultado ficaria assim:
fonte
T grande, não t pequeno.
Meu script costumava retornar essa mensagem e não o faz mais.
Eu uso o
authorized_key
no other_system para fazer com que isso execute um comando:fonte
Faça uma tentativa:
fonte
-t
duas conexões e eu a vi na errada. Eu editei minha resposta.Você pode tentar a seguinte técnica de ssh'ing no servidor1, seguida de ssh'ing no servidor2.
Fazer assim funciona para mim.
fonte