Недавно я установил Ubuntu Server 12.04 (Precise Pangolin) и намерен использовать его в основном в качестве файлового сервера. Я совершенно новичок в Linux, так что это довольно большая кривая обучения. Вчера я смог настроить шпатлевка на моем компьютере с Windows & nbsp; 7 с использованием пары ключей SSH, чтобы я мог администрировать сервер Ubuntu со своего рабочего стола. Это прекрасно работает при условии, что обе машины находятся в одной сети.
В случае с моим ноутбуком (MacBook Air) он не всегда может находиться в одной и той же сети. Возможно ли подключиться к серверу Ubuntu с моего ноутбука через SSH, когда он находится в другой сети?
Я установил демон avahi, чтобы имя хоста для сервера транслировалось по локальной сети, и настроил маршрутизатор так, чтобы он всегда назначал серверу один и тот же IP-адрес. Кроме того, единственное, что я установил на сервере, это OpenSSH где я отключил аутентификацию по паролю, чтобы вы могли подключиться только с помощью пары ключей.
Я думал, что смогу сделать что-то подобное с терминала на моем ноутбуке:
ssh my.external.ip.address user@hostname.local
Когда я пытаюсь выполнить эту команду, я получаю сообщение об ошибке:
ssh: подключение к хосту my.external.ip.address порт 22: время ожидания операции истекло
Я тоже пробовал
ssh my.external.ip.address user@servers.local.ip.address
и я получаю то же сообщение об ошибке, что и раньше. Итак, это должно дать вам представление о том, что я пытаюсь сделать, но возможно ли это, и если да, то как мне это сделать?
Предполагая, что я могу настроить внешнее соединение через ssh со своего ноутбука, существует вероятность того, что мой интернет-провайдер изменит мой внешний IP-адрес, что приведет к разрыву внешнего соединения. Я хотел бы иметь возможность надежно подключаться, то есть, если мой интернет-провайдер изменит внешний IP-адрес, я все равно смогу удаленно подключаться к серверу, не зная, каков новый внешний IP-адрес.