Niedawno zainstalowałem Ubuntu Server 12.04 (Precise Pangolin) i zamierzam używać go przede wszystkim jako serwera plików. Jestem całkowicie nowy w Linuksie, więc jest to dość duża krzywa uczenia się. Wczoraj mogłem skonfigurować PuTTY na moim komputerze z systemem Windows 7 za pomocą pary kluczy SSH, aby móc administrować Ubuntu Server z mojego komputera. Działa to dobrze, pod warunkiem że oba komputery są w tej samej sieci.
W przypadku mojego laptopa ( MacBook Air ) może nie zawsze być w tej samej sieci. Czy można połączyć się z serwerem Ubuntu z mojego laptopa przez SSH, gdy jest on w innej sieci?
Zainstalowałem demona avahi, aby nazwa hosta serwera była rozgłaszana w sieci LAN i skonfigurowałem router, aby zawsze przypisywał ten sam adres IP serwerowi. Poza tym jedyną rzeczą, którą zainstalowałem na serwerze, jest OpenSSH, w którym wyłączyłem uwierzytelnianie hasłem, aby można było łączyć się tylko za pomocą pary kluczy.
Myślałem, że będę mógł zrobić coś takiego z terminala na moim laptopie:
ssh my.external.ip.address user@hostname.local
Kiedy próbuję tego polecenia, pojawia się błąd:
ssh: połącz się z hostem my.external.ip.address port 22: upłynął limit czasu operacji
Próbowałem też
ssh my.external.ip.address user@servers.local.ip.address
i otrzymuję taki sam komunikat o błędzie jak poprzednio. To powinno dać ci wyobrażenie o tym, co próbuję zrobić, ale czy jest to możliwe, a jeśli tak, to jak to zrobić?
Zakładając, że mogę skonfigurować połączenie zewnętrzne za pośrednictwem ssh z mojego laptopa, istnieje możliwość, że mój dostawca usług internetowych zmieni mój zewnętrzny adres IP, co przerwie połączenie zewnętrzne. Chciałbym mieć możliwość solidnego połączenia, to znaczy jeśli mój dostawca usług internetowych zmieni zewnętrzny adres IP, nadal będę mógł połączyć się zdalnie z serwerem bez konieczności dowiedzenia się, jaki jest nowy zewnętrzny adres IP.