Instalei recentemente o Ubuntu Server 12.04 (Precise Pangolin) e pretendo usá-lo principalmente como servidor de arquivos. Eu sou completamente novo no Linux, então essa é uma grande curva de aprendizado. Ontem consegui configurar o PuTTY na minha máquina Windows 7 usando um par de chaves SSH para poder administrar o Ubuntu Server na minha área de trabalho. Isso funciona bem, desde que ambas as máquinas estejam na mesma rede.
No caso do meu laptop ( MacBook Air ), ele pode nem sempre estar na mesma rede. É possível conectar ao servidor Ubuntu do meu laptop via SSH quando ele estiver em uma rede diferente?
Instalei o daemon avahi para que o nome do host do servidor seja transmitido na LAN e configurei o roteador para que ele sempre atribua o mesmo endereço IP ao servidor. Além disso, a única coisa que instalei no servidor é o OpenSSH, onde desabilitei a autenticação por senha para que você possa se conectar usando apenas um par de chaves.
Eu pensei que seria capaz de fazer algo assim no terminal do meu laptop:
ssh my.external.ip.address user@hostname.local
Quando tento esse comando, recebo o erro:
ssh: conecte-se ao host my.external.ip.address porta 22: a operação atingiu o tempo limite
Eu também tentei
ssh my.external.ip.address user@servers.local.ip.address
e recebo a mesma mensagem de erro de antes. Portanto, isso deve lhe dar uma idéia do que estou tentando fazer, mas isso é possível e, se for, como faço?
Supondo que eu possa configurar uma conexão externa via ssh no meu laptop, existe a possibilidade de que meu ISP altere meu endereço IP externo, o que interromperia a conexão externa. Eu gostaria de poder conectar-me com robustez, ou seja, se meu ISP alterar o endereço IP externo, ainda assim poderei conectar remotamente ao servidor sem precisar saber qual é o novo endereço IP externo.