Como baixar um arquivo através de (Putty) SSH

1

Imagine a seguinte situação:

Eu não tenho acesso SSH direto ao Server-A devido a restrições de filtragem de IP. Para acessar o servidor (a partir do windows usando putty), primeiro conecto ao Server-B, que tem um endereço IP listado em branco, e daí SSH no Server-C, e SSH daí para o Server-A (eu sei que soa) insano, mas infelizmente não tenho direitos para alterar as restrições de filtragem de IP). Existe uma maneira de usar putty / winscp / qualquer outra coisa para baixar um arquivo do Server-A para o meu PC local?

    
por tofarr 28.06.2011 / 15:02

3 respostas

4

Use o encaminhamento de porta. O WinSCP, por exemplo, tem a opção de criar uma conexão por meio de um túnel ssh e usa o encaminhamento de porta. Ainda assim, uma vez que você precisa fazer um túnel através de dois hops, você não pode usá-lo.

Eu provavelmente primeiro criaria uma conexão ssh para o servidor-B que tem um túnel para o servidor-C. Você poderia usar plink.exe para isso (parte do putty):

plink.exe -l username_on_server_B -L 8888:server-C:22 server-B

Agora você pode criar um segundo túnel, usando uma conexão ssh para o servidor B, que leva ao servidor A (em um segundo shell cmd.exe):

plink.exe -l username_on_server_C -L 8889:server-A:22 -P 8888 localhost

Depois disso, você deve conseguir se conectar ao servidor-A usando o WinSCP. Em vez de servidor-A, você se conecta à porta 8889 do host local, que será encapsulada no servidor A.

Isso não foi testado, mas deve funcionar, eu acho.

    
por 28.06.2011 / 15:24
3

A maneira mais fácil sem correntes:

  1. faça o download do arquivo do Servidor-A para o Servidor-C usando scp
  2. faça o download do arquivo do Servidor-C para o Servidor-B usando o scp
  3. faça o download do arquivo do Server-B para o PC local usando o WinSCP
por 28.06.2011 / 15:09
2

O WinSCP tem suporte para tunelamento SSH. Para ativá-lo:

  • Clique na caixa de seleção "Opções avançadas".
  • na árvore de configuração, clique em "Conexão / Túnel" e aqui adicione o servidor de salto intermediário.
  • na árvore de configuração, clique em "Sessão" e configure o servidor de destino. Salve a sessão para o usuário posterior clicando em "Salvar ..."

Você pode encadear o restante das conexões usando o tunelamento ssh. Veja a opção -L para openssh: ssh -L 1234:remote_host:22 user@intermediate_hop . Então você pode conectar em remote_host ssh usando localhost: 1234 no intermediário.

    
por 28.06.2011 / 15:19

Tags