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:
-
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. -
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 emlocalhost
(por exemplo,mysql
). -
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