A resposta da nullmeta é completamente válida, e talvez a nullmeta seja editada para fornecer o esclarecimento que você está procurando. Estou postando uma solução separada completamente para explicar a situação em que pode ser difícil por causa da estrutura da rede (pense no firewall NAT) simplesmente voltar para o sistema local.
Digamos que você tenha dois computadores, ComputerA e ComputerB. ComputerA é sua estação de trabalho local. ComputerB é uma máquina remota que você pode acessar via ssh.
Cenário 1: se o ComputerA não estiver por trás de um firewall NAT
Esta é uma solução rápida e fácil, combinando scp e ssh (scp executa uma cópia segura usando protocolos ssh). Requer que você tenha um servidor ssh (e cliente) instalado em ambas as extremidades (computerA e computerB).
Para usar essa solução, execute a partir do ComputadorB:
scp /path/to/file/on/ComputerB ComputerAUser@ComputerA:/path/to/dump/file/on/ComputerA
Cenário 2: se o ComputerA estiver por trás de um firewall NAT
Nesse cenário, você normalmente precisará configurar o encaminhamento de porta no firewall NAT. No entanto, nem sempre você tem acesso para fazer esses tipos de alterações. Neste caso, você pode configurar seu túnel ssh de ComputerA - > ComputerB tal pode encapsular conexões reversas também.
Ao estabelecer a conexão ssh, ComputerA - > ComputerB, faça isso com a opção -R da seguinte maneira. ssh ComputerBUser@ComputerB -R 2222:localhost:22
onde ComputerBUser
é o nome de usuário para a conta em ComputerB sendo autenticado e 2222
é uma porta livre em ComputerB. Usaremos essa porta para fazer um túnel reverso de volta ao ComputerA a partir do ComputerB.
Agora de ComputerB , você pode emitir o comando scp da seguinte maneira para copiar arquivos de ComputerB - > ComputadorA, onde ComputerAUser
é seu nome de usuário no ComputadorA:
scp -P 2222 /path/to/file/on/ComputerB ComputerAUser@localhost:/path/to/drop/file/on/computerA
O que está acontecendo aqui? Parece que estamos simplesmente dizendo ao ComputerB para enviar o arquivo de volta para si mesmo porque estamos passando localhost
em vez de ComputerA. Na verdade, estamos dizendo ao scp para passar o arquivo de volta para o ComputerB, mas para a porta 2222. Todas as conexões com a porta 2222 no ComputerB são encaminhadas para a porta 22 (porta ssh padrão) no ComputerA. Assim, encurtando para trás a conexão ssh existente, não importa que o ComputerA esteja atrás de um firewall NAT.
Cenário 3: execute a cópia do arquivo de ComputerA
Ou, em vez de tentar fazer isso a partir do ComputerB, você pode simplesmente executar o comando scp do ComputerA.
scp ComputerBUser@ComputerB:/path/to/file/on/ComputerB /path/to/dump/file/on/ComputerA