Problema ao conectar-se ao servidor ssh que está atrás de outro servidor ssh no nautilus

1

Então eu tenho esse servidor da escola que estou tentando conectar via nautilus. No terminal é tudo fácil, mas eu quero ser capaz de abri-lo também no nautilus.

No terminal, minha maneira de fazer isso é assim:

ssh [email protected]

Agora que estou conectado, posso fazer ssh myUser2.my.server2.com dentro desse servidor para se conectar ao server2. Eu canoot conectar ao servidor 2 diretamente. Tem que ser feito como eu faço agora.

Portanto, agora só posso obter uma conexão com o primeiro servidor no nautilus digitando ssh://[email protected]

Mas como eu me conecto ao servidor2 a partir dali?

    
por Kaspar 04.09.2014 / 09:34

1 resposta

2

Se o seu primeiro servidor SSH ( my.server.com ) suportar TCP Port Forwarding , você pode encaminhar um porta no seu sistema local ( localhost ) para my.server2.com via my.server.com :

ssh -fNL 2022:my.server2.com:22 [email protected]

Isso encaminhará a porta 2022 em localhost para a porta 22 em my.server2.com . Então você pode se conectar diretamente ao segundo servidor:

ssh myUser2@localhost:2022

No Nautilus, você pode se conectar usando ssh://myUser2@localhost:2022 .

Os -fN flags enviam o SSH para o segundo plano e cria um problema ao fechá-lo. Existem três saídas:

Autoclose

ssh -fNL 2022:my.server2.com:22 [email protected] sleep 10

Agora conecte-se usando o Nautilus antes que o comando sleep termine a execução (10 segundos). A conexão será mantida viva enquanto o Nautilus estiver conectado. Quando terminar, desconecte-se do Nautilus e a conexão será interrompida.

Deixe o comando esperar pela entrada

ssh -tL 2022:my.server2.com:22 [email protected] 'read -p"Press Enter to exit: "'

O comando read aguardará pela entrada. Pressione Enter quando terminar de fechar a conexão.

Procure o processo de conexão e mate-o

pgrep -fa fNL

Isso mostrará todos os processos que possuem fNL na linha de comando (deve haver apenas o processo de conexão SSH). Ou kill o PID do processo certo se houver mais de um ou use pkill se houver apenas um processo:     pkill-f fNL Esta é praticamente a única opção para conexões que já foram estabelecidas usando -fN .

Não execute nenhum comando e saia normalmente

ssh -L 2022:my.server2.com:22 [email protected]

Isso abrirá um shell normal, do qual você pode sair normalmente.

    
por muru 04.09.2014 / 09:54