encaminhamento de porta local SSH

1

Eu estou experimentando um pouco com o encaminhamento de porta ssh e me deparei com uma coisa confusa. Parece-me que os seguintes comandos estão fazendo a mesma coisa:

ssh -NfL 192.168.121.215:2222:vm2.local:22 vm2.local
ssh -NfL 192.168.121.215:2223:localhost:22 vm2.local
ssh -NfL 192.168.121.215:2224:vm2.local:22 localhost

Conectar-se aos potes 2222, 2223 e 2224 do pc me traz tudo para vm2.local.

$ ss -antp # on vm1.local (192.168.121.215)
State      Recv-Q Send-Q        Local Address:Port          Peer Address:Port 
LISTEN     0      128         192.168.121.215:2222                     *:*      users:(("ssh",10170,4))
LISTEN     0      128         192.168.121.215:2223                     *:*      users:(("ssh",10178,4))
LISTEN     0      128         192.168.121.215:2224                     *:*      users:(("ssh",10225,4))
LISTEN     0      128                       *:22                       *:*      users:(("sshd",836,3))
...

Qual é a diferença entre os comandos acima? O túnel é um pouco diferente? O primeiro comando está correto de acordo com as páginas de manual, o segundo é de algum site e o último é o erro que eu fiz e que acabou funcionando também.

    
por NefariousOctopus 05.12.2015 / 02:34

1 resposta

1

Existe IS diferença, mesmo que isso não seja relevante no seu caso. Eu não sou bom em desenhar, então vou tentar descrevê-lo com palavras:

  1. ssh -NfL 192.168.121.215:2222:vm2.local:22 vm2.local
    

    Isso faz a conexão criptografada entre seu host e vm2.local e a porta é encaminhada por meio desse canal seguro, porque cada terminal (local e remoto) liga seu endereço IP local.

  2. ssh -NfL 192.168.121.215:2223:localhost:22 vm2.local
    

    Isso é o mesmo como acima, mas você não vincula o endereço da interface de rede pública, mas o local ( 127.0.0.1 ). Para a porta ssh, não há diferença (ela escuta em ambos), mas é importante para os serviços ouvir somente em localhost (por exemplo, mysql ).

  3. ssh -NfL 192.168.121.215:2224:vm2.local:22 localhost
    

    Este está se conectando ao seu host local com segurança (basicamente sem efeito de segurança) e então liga o host remoto diretamente, então tudo que você escreve na porta 2224 é enviado diretamente entre as máquinas sem criptografia ( não há problema aqui para conexões SSH, mas seria importante para diferentes tipos de tráfego).

Conclusão

Você deve aprender a usar o segundo caso, mas quando a porta encaminhada não é necessária para ser acessível de fora, você deve sempre vincular localhost no lado local, assim:

ssh -NfL localhost:2223:localhost:22 vm2.local

em que localhost é o padrão, para que você possa reduzi-lo a

ssh -NfL 2223:localhost:22 vm2.local
    
por 05.12.2015 / 11:24