Se o servidor A puder estabelecer uma conexão TCP com a porta 22 do servidor B e você estiver inserindo esses comandos no servidor A, o túnel será desnecessário.
ssh -L 1234:server_B:22 -p 45678 user_in_A@server_A
Se você estiver executando o comando no servidor A , isso significa:
- você espera que o servidor A tenha
sshd
na porta 45678 - você está fazendo uma conexão SSH do servidor A para user_in_A @ server_A
- você também está configurando um túnel a partir da porta 1234 do servidor A para a porta 22 do servidor B, isto é, o
sshd
do servidor A estará configurando um proxy TCP na porta 1234 no servidor A e encaminhando a (s) conexão (ões) para na porta 22 do servidor B.
Como a conexão SSH é do servidor A para o servidor A, a parte criptografada do túnel estará totalmente dentro do servidor A e, portanto, praticamente inútil. Se o túnel funcionar, isso significa que você pode simplesmente usar scp
para transferir arquivos sem fazer o túnel:
scp -i key_for_user_in_B /some/where/local/files user_in_B@server_B:
ou
scp -i key_for_user_in_B user_in_B@server_B:/some/remote/path /some/local/path/
O primeiro irá "empurrar" arquivos de local (A) para B, o segundo "puxará" arquivos de B para local (A).