Como copiar um arquivo usando o pscp através de um hop de servidor de gateway intermediário

5

Eu tenho uma caixa de salto do linux entre mim e um servidor remoto. Eu tenho visto alguns posts sobre como fazer isso com o scp (por exemplo aqui ), mas eu estou em uma caixa do Windows, então a situação é um pouco diferente. Eu quero copiar um arquivo da minha máquina windows local, através de uma configuração do servidor como um gateway entre os dois. Eu deveria ser capaz de fazer um multi-hop através do servidor intermediário. Então, algo assim:

A - > B - > C

Eu não quero copiar o arquivo para B, depois logar em B e copiar o arquivo novamente. Gostaria de poder executar o pscp em vários arquivos para copiá-los.

    
por Scott 04.04.2013 / 03:45

3 respostas

4

Descobri que a melhor maneira de fazer isso é primeiro estabelecer um túnel para o servidor intermediário (servidor B na ilustração). Então pscp sobre este link. Eu vou passar por exatamente o que eu fiz.

1) Crie uma conexão SSH para serverB no PuTTY

2)Paraestaconexãocrieumtúnelquevaidaporta2222(vocêpodeescolheroutrosequiser)paraoserverCnaporta22

3) Abra uma janela de comando no Windows. Navegue até onde o PuTTY / pscp está instalado em sua máquina (se não estiver no caminho já)

4) Digite o seguinte comando (substituindo seus próprios valores por aqueles em {}):

c:\putty> pscp -P 2222 -pw {myPasswordOnRemoteMachine} c:\dev\fileIWantToCopy.txt {myusername}@127.0.0.1:/tmp

5) Na máquina remota C, o arquivo deve estar no diretório / tmp

    
por 04.04.2013 / 03:45
1

A solução mais fácil que encontrei para esse problema foi não usar o pscp. Basta usar o WinSCP para copiar o arquivo.

  1. Digite seu endereço final do servidor (ou seja, o servidor 'C' na pergunta) na página da sessão e selecione SCP.

  2. Cliqueem"Avançado ...". Vá para Conexão > Túnel. Digite suas informações do servidor de salto aqui (por exemplo, Servidor 'B').

  3. Agora faça o login com o seu arquivo de chaves ou senha e você será tunelado.

por 12.04.2014 / 18:02
0

Minha situação ainda mais complicada:     A - > B - > C - > D - > E

I used PuTTY and FileZilla

A my Windows machine, 
B and C are gateways (very limited functionality)
D is the first Linux Machine and 
E is the target Linux Machine

I use PuTTY to: 
    ssh into B (w/username password) (IP of B is predefined in PuTTY) then
    ssh into C (w/username password) then manually
    ssh into D (w/username password) then manually
    ssh into E (at least this uses pubic key login so no uid/password!)

Once this is setup I then add tunnel to the IP of the final machine E in PuTTY thus:
    L7777 172.123.124.125:22



OK now fire up FileZilla:

File > SiteManager:
Setup new connection to:
Host: 127.0.0.1 Port: 7777
Protocol SFTP
Ask for password...

Connect!
    
por 15.01.2015 / 05:23

Tags