Como eu posso rsync de um servidor que é acessível via ssh * através de um servidor de login remoto * para o meu computador local que não tem um I.P. endereço?

0

Eu posso ssh para um sistema remoto de servidores através de um servidor de login ( ssh [email protected] ). Do servidor de login, posso ssh para um servidor específico ( ssh user@supercool ). Não consigo acessar o servidor específico diretamente ( ssh [email protected] ). Como posso executar um rsync local para obter um diretório desse servidor específico? Não consigo rsync do servidor específico para a minha máquina local porque minha máquina local não possui um IP público acessível. endereço.

    
por BlandCorporation 09.03.2017 / 13:56

1 resposta

0

Então, sua configuração é esta:

Local Machine --> Intermediate Server --> Remote Server

Se você conseguir executar o comando rsync no servidor remoto e sua máquina local estiver executando o sshd, você poderá fazer isso:

Faça o login no servidor intermediário com o seguinte comando ssh

ssh user@<intermediate server> -R 1024:localhost:22

Isso criará um túnel SSH reverso. Qualquer conexão SSH no servidor intermediário na porta 1024 será redirecionada de volta para sua máquina local.

Neste ponto, você estará logado no servidor intermediário. Você precisa então estender o túnel para o servidor remoto. Na execução do servidor intermediário:

ssh user@<remote server> -R 1024:localhost:1024

Agora, qualquer conexão SSH na porta 1024 no servidor remoto retornará ao servidor intermediário na porta 1024, que será então redirecionada para a sua máquina local. Ufa!

Agora precisamos envolvê-lo no rsync. O Rsync tem uma opção de shell remoto (-e) que você pode usar para especificar as opções do ssh. Então, no servidor remoto, você pode rodar (isso é um pouco de suposição de experiências passadas, pode precisar de alguns ajustes):

rysnc -<whatver rsync options you want> -e "ssh -p 1024" <source directory> <local machine user>@localhost

Lembre-se de sempre executar um comando rsync com --dry-run primeiro para ter certeza de que está fazendo o que você espera (juntamente com vários níveis de verbosidade -v, -vv ou -i ou -ii dependendo das versões do rsync envolvidas .).

    
por 09.03.2017 / 14:47

Tags