SSH de volta para a máquina local a partir de uma sessão SSH remota

12

Estou tentando fazer algo bastante incomum (para mim, de qualquer forma) com o SSH e não consigo fazê-lo funcionar, espero que você possa ajudar.

Eu quero estabelecer uma conexão com um servidor remoto do meu Mac usando o SSH. Por enquanto, tudo bem. Agora, o bit complicado, com a conexão com o servidor remoto estabelecido eu quero, em seguida, iniciar uma conexão do servidor remoto de volta para a máquina local. Eu sei, louco. Basicamente, eu preciso percorrer esses bastidores para poder navegar pelo servidor remoto e, em seguida, enviar as informações do arquivo de volta para minha máquina local para que ele possa ser tratado por um aplicativo na máquina local. Espero que isso faça sentido!

No momento, se eu voltar a SSH para a máquina local, uma vez que eu esteja logado no servidor remoto, o terminal ficará lá, zumbindo, sem erros, mesmo com -v.

Eu estou tentando descobrir onde eu deveria estar chamando, olhando para a saída da variável $ SSH_CLIENT, mas estou em uma conexão de internet padrão baunilha (sem endereço IP estático) Eu acho que isso pode ser o que está causando o problema .

Coisas que estabeleci: Eu estou em um Mac (OS X 10.6.4) e tenho o login remoto ativado nas preferências do sistema / compartilhamento Se eu tentar e SSH no meu mac a partir de outra máquina em LAN fora eu posso conectar sem problemas. Se eu tentar o SSH em outro servidor (não na minha máquina local) do meu servidor remoto, posso me conectar sem problemas.

Portanto, os fatos acima me fazem pensar que estou bem claro em relação aos firewalls, etc. nas máquinas locais e remotas.

Tenho certeza que devo estar perdendo algo bastante óbvio aqui, mas pela minha vida eu não consigo lidar com isso.

Qualquer ajuda, links ou sugestões gerais na direção correta serão muito apreciados!

    
por i0n 29.08.2010 / 10:21

3 respostas

9

Se, quando você se conecta ao seu local, permite que você faça o login antes de interromper, essa não é a resposta. Se você não chegar tão longe, provavelmente não estará voltando ao seu Mac (não chegando a lugar nenhum ou atingindo o SSH em um gateway). Tente um túnel reverso (ele exigirá o GatewayPorts definido como On no sshd_config no seu servidor, mas acredito que este seja o padrão):
you@yourMac$ ssh -R 2000:localhost:22 user@remoteserver
Isso deve permitir que você se conecte ao servidor normalmente, mas também abra um túnel para que você possa se conectar novamente à porta 2000 (qualquer porta com mais de 1024 deve funcionar), então you@yourserver$ ssh -p2000 user@localhost

EDIT: Nome do host alterado para localhost

    
por 29.08.2010 / 11:15
2

A sua máquina local é acessível a partir do servidor? Você pode pingar isso? Estou perguntando isso porque o que você está fazendo deve funcionar se a sua máquina estiver acessível. Seu servidor está na internet ou na LAN, mesma sub-rede?

De qualquer forma, se você só precisa editar um arquivo, por que você simplesmente não usa o scp para copiar o arquivo para a sua máquina local? Você pode usar o ssh para procurar o arquivo no servidor remoto e, quando tiver seu caminho, entrar na sua máquina local (em outro terminal):

scp user@server:/path/to/file/on/server /local/path/to/save/file

Para colocar o arquivo de volta, scp novamente trocando os caminhos.

Obs: você não precisa da conexão inicial do ssh para usar o scp - ele irá criar um novo

Isto acima é se você precisar acessá-lo no terminal. No linux (e certamente no Mac, mas não sei como fazê-lo), você pode montar um local remoto ssh em Redes e usar a conexão à medida que usa um disco local (isto é sftp e a conexão está no formato: sftp://user@server:/path/to/mount e eu acho que isso é o que você precisa, em vez de uma conexão de terminal remoto para que você possa editar o arquivo diretamente com o aplicativo Mac.

    
por 29.08.2010 / 20:49
1

Você também pode querer dar uma olhada em sshfs (você precisa de MacFuse para isso). Isso permite que você monte diretórios na máquina remota e os acesse como pastas comuns na sua máquina. Além disso, você ainda pode usar ssh na máquina e criar / pesquisar os arquivos necessários. Transferir eles seria tão fácil quanto transferir arquivos locais.

    
por 29.08.2010 / 23:22