Удаленный доступ. SSH соединение.11 сентября 2010
Как и обещал, расскажу Вам как я настраивал ssh соединение между рабочим и домашним компьютерами.
Почему ssh, а не telnet? Потому что SSH - это защищенное соединение. SSH расшифровывается как Secure SHell - защищенная командная строка. Все передаваемые данные шифруются в отличие от telnet.
И так, мой домашний компьютер будет в роли сервера. На нем будет установлен ssh-сервер.
Мой домашний компьютер управляется операционной системой Ubuntu 10.04.
Под сервером мы понимаем удаленную машину к которой будем подключаться через ssh-клиента.
И так, будем настраивать сервер.
Нам необходимо установить openssh-server. В Ubuntu 10.04 он установлен по-умолчанию. Если не установлен, то надо установить либо через Synaptic, либо через командную строку:
sudo apt-get install openssh-server
Далее запустить ssh-сервер (sshd):
/etc/init.d/ssh start
OpenSSH сервер можно конфигурировать, используя файл /etc/ssh/sshd_config. В подробности вдаваться не буду. Нам базовых настроек достаточно.
Под windows тоже можно установить OpenSSH-сервер.
Мне этот вариант не интересен, т.к. я использую linux, поэтому его рассматривать не буду.
Как видно, в настройке ssh-сервера нет ничего сложного. На самом то деле нам даже ничего не пришлось настраивать. ![]()
Теперь мы можем пробовать подключаться к домашнему компьютеру из сети, если имеем выделенный IP или у нас настроен динамический dns.
В linux есть по-умолчанию ssh-клиент.
Под windows надо клиента искать. Самым наилучшим на мой взгляд (и не только мой) является .
Для подключения из linux в терминале наберем следующее:
ssh myhost.dyndns.org -l username
Ключ -l username позволяет автоматически залогиниваться под именем username, останется только ввести пароль.
Для подключения из Windows используем Putty. В настройках нет ничего сложного.

Вводим имя хоста и нажимаем кнопку Open.
Как в первом (ssh), так и во втором (putty) случае, перед нами откроется терминал удаленного компьютера, т.е. нашего сервера.
На этом все. Теперь мы можем подключаться к домашнему компьютеру по ssh.
Хотя нет, я не могу этого сделать с работы, потому что у меня там закрыт 22 порт.
В этом случае можно настроить openssh-server на другой порт, например, 80 или 443.
Для этого в файле /etc/ssh/sshd_config находим строку Port 22 и изменяем порт на 80 или 443 (какой хотим использовать).
Затем перезапускаем sshd:
/etc/init.d/ssh restart
Теперь можно подключаться так:
ssh myhost.dyndns.org -p 443 -l username
А если через putty, то в настройках рядом с хостом изменить порт.
Теперь мы можем подключаться к серверу по ssh на нестандартном порту.
Хотя опять я не могу этого сделать. проблема заключается в том, что у меня есть роутер (adsl модем в режиме роутера), и он раздает интернет на 2 компьютера. В данном случает нам нужно на роутере пробросить порт до нашего сервера.
Расскажу на примере своего роутера (ADSL модема).
Для этого заходим в админку модема, я захожу так - в браузере набираю адрес 192.168.0.1 и попадаю в веб-интерфейс роутера.
Там нахожу раздел Advanced Setup -> NAT -> Virtual Servers. В нем делаю проброс портов.

Указываю внешний порт как 443, куда будет коннектится ssh-клиент. Указываю внутренний 22 (можно 443, тогда в конфиге sshd_config надо тоже 443 порт указать вместо 22). Указываю IP адрес сервера в локальной сети, в данном случае это 192.168.0.2
Сохраняю настройки.
Все! Вот теперь у меня есть доступ с работы к домашнему компьютеру, который находится за роутером. Главное чтобы наш сервачек был включен.
PS В следующий раз я расскажу, как настраивал vnc соединение, создавал тунели для закрытых портов через ssh, а так же как запускал нудаленно и выводил на клиенте GUI-приложения.















Оставьте комментарий!