Copia um arquivo de remoto para local

2

Estou tentando copiar um arquivo de 10.10.10.99:/home/shantanu/ para o localhost. O único problema é que eu preciso encapsular a conexão através de 10.10.10.98 Algo assim não funciona ...

ssh [email protected] "ssh [email protected] cp /home/shantanu/test.txt . "

O segmento "túnel ssh por vários saltos" é muito confuso.

link

    
por shantanuo 08.06.2011 / 10:38

3 respostas

1

Não use "cp" para copiar arquivos entre hosts habilitados para SSH, use scp. Algo como isso deve ser suficiente para suas necessidades agora:

ssh -f [email protected] -L 41111:10.10.10.99:22 -N
scp -P 41111 shantanu@localhost:/home/shantanu/test.txt .

Deve-se notar que o primeiro comando cria um túnel (acessível somente a partir do seu localhost, mas ainda assim) que você pode querer fechar após a transferência dos arquivos. Ou deixá-lo aberto, não é um enorme risco de segurança, pois você ainda precisa autenticar o segundo host para usá-lo.

    
por 08.06.2011 / 11:15
0

Basta enviar o arquivo local por meio de uma cadeia de pipes SSH até o destino final:

ssh [email protected] "ssh [email protected] 'cat >test.txt'" </home/shantanu/test.txt

A única parte complicada pode ser a cotação dupla necessária para obter o redirecionamento do shell executado na máquina de destino.

    
por 30.06.2011 / 16:19
0

(Não diretamente relacionado a isso, mas ..) você também pode criar um túnel SSH reverso.

no servidor remoto:

ssh -fN -R 7000:localhost:22 username@yourMachine-ipaddress

Agora faça uma solicitação de conexão ssh da sua máquina para sua própria máquina na porta 7000:

ssh username@localhost -p 7000
    
por 20.12.2013 / 08:55

Tags