
Como posso estabelecer um túnel SSH reverso com meu arquivo ./ssh/config?
Estou tentando reproduzir este comando
ssh -R 55555:localhost:22 user@host
no meu arquivo .ssh/config para que, quando eu digitar, ssh host
faça ssh para o host como usuário e com um túnel reverso. Os comandos aceitos pelo arquivo de configuração são equivalentes mais detalhados aos sinalizadores da linha de comando. Com base na página de manual do ssh e na página de manual do ssh_config, parece que a configuração correspondente é BindAddress.
No meu arquivo .ssh/config eu tenho:
Host host
Hostname host
User user
BindAddress 55555:localhost:22
Isso, e pequenas variações, resultam em uma conexão recusada quando tento
ssh localhost -p 55555
uma vez logado no host. O mesmo funciona bem se eu fornecer explicitamente o comando na parte superior quando fizer o primeiro sshing para o host. Meu arquivo de configuração funciona sem o comando de túnel reverso; ssh host
me conecta ao host como usuário.
Responder1
BindAddress
não é a opção que você procura. Deman ssh_config
:
BindAddress
Use the specified address on the local machine as the source
address of the connection. Only useful on systems with more than
one address.
O arquivo de configuração equivalente a -R
é RemoteForward
:
RemoteForward
Specifies that a TCP port on the remote machine be forwarded over
the secure channel to the specified host and port from the local
machine. The first argument must be [bind_address:]port and the
second argument must be host:hostport. [...]
Com esta informação a linha de comando
ssh -R 55555:localhost:22 user@host
se traduz na seguinte .ssh/config
sintaxe:
Host host
HostName host
User user
RemoteForward 55555 localhost:22