Нещодавно я встановив Ubuntu Server 12.04 (Precision Pangolin) і маю намір використовувати його насамперед як файловий сервер. Я абсолютно нова в Linux, тому це досить велика крива навчання. Вчора мені вдалося налаштувати PuTTY на своїй машині Windows 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-адреса.