duvida com tunelamento em SSH...

Iniciado por crixtiano, 12 de Julho de 2007, 14:07

tópico anterior - próximo tópico

crixtiano

Pessoal,

eu tenho aki 3 máquinas:

A - servidor com IP fixo
B - notebook
C - PC linux SEM IP fixo que está no meu trabalho

Estou usando o computador "A" (servidor com IP fixo) para servir de "ponte" entre o meu notebook (máquina "B") e o PC "C" que é um computador no meu trabalho.

Para isso, estou fazendo:

Citar
Na máquina "B", para acessar "A":

$ ssh IP_FIXO

Na máquina "C", criando o túnel para "A":

$ ssh -R 1245:localhost:22 IP_FIXO

Na máquina "A", acessada por "B", para acessar "C"

$ ssh -p 1245 localhost


Muito bem, estou conseguindo do meu notebook, mesmo estando milhares de kilometros , acessar o meu computador no trabalho da forma acima.

Porém, para fazer o esquema acima, alguém tem que ir la no shell do PC "C" e dar o comando
"ssh -R 1245:localhost:22 IP_FIXO". E além do mais, depois desse comando, com a conexão criada, o shell fica aberto como se tivesse dentro de "A". Se a pessoa kiser voltar para o seu shell normal, tem que fechar a conexão.

Eu gostaria de saber como eu faço para fazer essa conexão e poder deixar o comando acima rodando, por exemplo, em segundo plano? Existe algum método? E se existir, como faço para fechar a conexão depois?

Obrigado.

Cristiano

emphasis

Bom, fazíamos algo parecido onde eu trabalhava, o outro estagiário usava uma conta específica para logar via ssh e manter o túnel. Esse usuário não tinha um shell válido (/bin/false) e ele fazia simplesmente mostrar uma msg ao logar que ficava fixa na tela.

Entendeu?

Quanto a rodar em segundo plano, já experimentou com o "&" no final do comando? Ele deixa em background, podendo trazer para foreground a qualquer momento.

crixtiano

bem, a ideia de logar como um outro usuario e ao logar ficar fixo na tela nao funcionaria pq o computador que vai logar no servidor com IP fixo nao tem tela (rs), ele é um servidor.

eu tenho por opcao apenas fazer um script web para logar no servidor fixo via ssh. Mas para isso preciso que o script execute o comando ssh e o deixe rodando na memória.

talvez o lance aí do "&" no final possa me ajudar. Como que é isso? como eu uso o "&" e como eu recupero para foreground ?

Obrigado

arlei

Citação de: crixtiano online 16 de Julho de 2007, 07:58
bem, a ideia de logar como um outro usuario e ao logar ficar fixo na tela nao funcionaria pq o computador que vai logar no servidor com IP fixo nao tem tela (rs), ele é um servidor.

eu tenho por opcao apenas fazer um script web para logar no servidor fixo via ssh. Mas para isso preciso que o script execute o comando ssh e o deixe rodando na memória.

talvez o lance aí do "&" no final possa me ajudar. Como que é isso? como eu uso o "&" e como eu recupero para foreground ?

Obrigado

Olá crixtiano.

Para isso especificamente existem comando gerenciadores dos processos do bash conforme abaixo:

bg -> Coloca um processo em segundo plano.
fg -> Traz um processo para o primeiro plano.
jobs - > Exibe os processos (jobs) ativos. Jobs são os processos que se alternam entre o primeiro e segundo plano usando os comandos acima.

Maiores detalhes podem ser consultados no próprio manual dos comandos, man comando.

T+
Arlei