Como fazer login do servidor remoto no meu próprio PC?

9

Para o experimento, preciso fazer login no meu próprio PC a partir dos PCs remotos que estão no mesmo domínio, ou seja: rede da universidade. Como posso fazer login remoto neste caso usando SSH?

Como exemplo, eu tenho contas em duas máquinas na Universidade X que são me@machine_a.cs.x.cae me@machine_b.cs.x.ca, minha conta pessoal de laptop é nawshad@ubuntu. Que informações extras eu preciso fornecer?

Nawshad Farruque
fonte

Respostas:

11

Como a resposta de daveh aponta, isso pode ser tão simples quanto apenas emitir ssh nawshad@ipaddress.

No entanto, é provável que o seu PC não esteja acessível diretamente da Internet, ou seja, fica atrás de um roteador de algum tipo.

Uma opção é dizer ao roteador para permitir a passagem do tráfego no seu PC. Como você faz isso depende do roteador. Essa opção funciona apenas se você tiver acesso administrativo ao roteador e se não houver outros roteadores envolvidos.

Outra opção é criar um túnel SSH reverso, ou seja, no seu PC, você entra em uma (ou ambas) máquinas da universidade, criando ao mesmo tempo um túnel das máquinas da universidade para a porta SSH do seu PC. Você deixa essa conexão ativada quando está na universidade, o que permite que você efetue login novamente no seu PC usando o túnel criado pela sessão SSH.

Este processo foi descrito por http://www.vdomck.org/2005/11/reversing-ssh-connection.html ; desculpe pelo link, mas não quero copiar todas as informações de lá para cá.

Em princípio, o comando que você emite no seu PC é (supondo que você queira se conectar em me@machine_b.cs.x.ca)

ssh -f -N -R 10000:localhost:22 me@machine_b.cs.x.ca

Então, quando estiver na universidade, você poderá conectar-se ao seu PC doméstico com o seguinte comando:

ssh -p 10000 nawshad@localhost

Você pode alterar o 10000comando nos dois comandos para um valor diferente; apenas verifique se é maior que 1024.

Nota: enquanto esse túnel estiver ativo, todos os que tiverem acesso machine_b.cs.x.capoderão tentar fazer login no seu sistema; verifique se você possui boas senhas.

Para desligar o túnel, basta matar o processo ssh correspondente, por exemplo, com

pkill -f 'ssh -f -N -R 10000:localhost:22 me@machine_b.cs.x.ca'
daniel kullmann
fonte
1

Sim. Este é um caso para usar o SSH.

A menos que sua máquina pessoal esteja registrada no DNS da sua universidade (o que é improvável), é melhor fazê-lo via endereço ip.

Primeiro, verifique se o SSH está ativado em sua máquina pessoal. Verifique com ps -ef | grep sshd | grep -v grepe, se não estiver, instale e inicie o sshd.

Uma vez em execução, tente ssh na sua máquina via endereço IP, por exemplo, ssh [email protected]você deve ser solicitado a fornecer sua senha.

Boa sorte!

daveh
fonte
Quando eu corri ps -ef | grep ssh, encontrei o seguinte: nawshad 2898 2512 0 23:18 pts / 0 00:00:00 grep --color = auto sshd Isso significa que não tenho o ssh ativado no meu laptop pessoal?
Nawshad Farruque
Não. Essa é a própria consulta grep. O SSH não está sendo executado em sua máquina. Deixe-me atualizar a consulta para excluir isso
daveh
1
Isso só funciona se o PC estiver realmente conectado diretamente à Internet, o que é bastante improvável.
Daniel kullmann 07/09/12