С нами просто и выгодно!

Звоните: +7 925 357-32-80

Наш блог. Категория Веб-серверы: установка, настройка и поддержка веб-серверов

Настройка сайта на Ubuntu server - Доступ через ssh

2. Настройка удаленного доступа

После установки системы мы можем воспользоваться физическим доступом к системе (с помощью подключенной к серверу клавиатуры или IKVM). Но для повседневной работы это слишком громоздкий способ: мы либо лишаемся мобильности (необходимо подойти к серверу), либо требует терпения (поскольку IKVM не всегда работает быстро и часто бывает доступен не для всех платформ).

Поэтому рассмотрим вопрос с настройкой терминального доступа посредством ssh. Во время установки системы мы уже поставили необходимое приложение — осталось только подключиться. В стандартной поставке Ubuntu и большинства других Linux дистрибутивов ssh клиент уже установлен и потребуется лишь запустить терминал:

 
ssh server-name -l user-name
 

где server-name — это имя или ip адрес сервера, а user-name — имя пользователя, созданного при установке.

Для пользователей Windows есть замечательная программа Putty, которая не только обеспечит терминальный доступ к вашему серверу, но и позволит легко управлять подключениями, пробросом портов и многое другое.

Теперь рассмотрим вопрос безопасности. Можно (и даже нужно) ограничить количество ip адресов, с которых возможно подключение к серверу. Для этого необходимо отредактировать файл /etc/ssh/sshd_config и прописать там жестко биндинг на один ip адрес:

 
...
ListenAddress ваш-ip-адрес
...
 

после чего необходимо перезапустить сервис:

 
sudo /etc/init.d/ssh restart
 

После перезапуска сервиса служба ssh поднимется только на одном интерфейсе, и подключиться с других ip адресов к вашему серверу будет невозможно.

Среди прочих возможностей, которые нам потребуется — возможность проброса портов с сервера на локальную машину (все сервисы, кроме ssh и nginx, из соображений безопасности, будут биндиться только на localhost, а для их отладки часто будет необходимо настроить тоннель)

 
ssh -L локальный-порт:удаленный-хост:удаленный-порт user-name@server-name
 

где локальный-порт — целевой порт тоннеля на локальной машине, удаленный-хост — хост, с которого будет перенаправлен порт, удаленный-порт — порт удаленной машины, который будет биндится на локальный-порт.

Для демонстрации воможностей, подключимся к MySQL, который по умолчанию биндится на localhost (если мне не изменяет память):

 
ssh -L 3309:localhost:3306 user-name@server-name
 

После выполнения данной команды, мы сможем подключиться к базе данных каким-либо полноценным клиентом, например mysql workbench

Для создания тоннеля в Windows необходимо в настройках Putty в разделе connection => ssh => tunnels задать параметры тоннеля: