scp usando o tunelamento ssh

1

Normalmente, eu apenas faço scp file myuser@server1:~/ (e insiro minha senha) mas agora eu preciso primeiro scp file myuser@server2:~/ e, em seguida, ssh myuser@server2 de mim em server2 e, em seguida, do server2, faça o scp file myuser@server1:~/

Eu tentei fazer ssh -L 8888:server1:22 myuer@server2 e ele me perguntou a senha da mesma forma que quando eu faço ssh myuser@server2 , e ele apenas conectou ao server2 mas não ao server1.

Como posso fazer com que funcione de modo que eu possa scp de mim diretamente para server1?

    
por Mano Mini 15.06.2017 / 07:59

2 respostas

1

Você pode simplesmente configurar o ProxyCommand / ProxyJump , assim você poderá scp diretamente para o servidor distante. Crie um ~/.ssh/config com o seguinte:

Host server1
  ProxyCommand ssh -W %h:%p server2

e então você será capaz de scp diretamente:

scp local.file server1:/path/to/remote.file

Se você realmente insistir no encaminhamento de porta, depois de criar um "túnel" usando o primeiro comando que você forneceu:

ssh -L 8888:server1:22 server2

você precisará transferir os dados desta forma (onde -P indica a porta onde a conexão encaminhada está configurada):

scp -P 8888 local.file server1:/path/to/remote.file
    
por 15.06.2017 / 15:45
0

scp suporta um arquivo de origem remota, bem como um arquivo de destino remoto. Ele usa ssh para transferência de dados, então isso deve ser equivalente a suas tentativas de tunelamento:

scp file myuser@server2:~/
scp myuser@server2:~/file myuser@server1:~/

A propósito, se myuser for o mesmo nome de usuário do seu login local, você pode omiti-lo:

scp file server2:~/
scp server2:~/file server1:~/

Se você realmente quer um túnel (então o arquivo nunca precisa tocar no sistema de arquivos server2 ), então isso é bem respondido aqui: link

Bem, na verdade, isso pode ser considerado já respondido ...

    
por 15.06.2017 / 13:55