SSH Linux — основные команды, настройка и работа с Deploy

загрузка...

Порой появляется потребность подключиться к серверу удаленно при помощи специального протокола. Поскольку существует различные сетевые протоколы, то у каждого из них есть свои особенности. Один из лучших и наиболее защищенных протоколов — это SSH. Именно SSH сегодня и будет рассмотрен, в частности, основные команды протокола, использование совместно с Deploy, решение различных проблем, типа fail при попытке авторизоваться и прочие нюансы. Обзор будет проведен для операционной системы Linux. И хоть SSH можно использовать и для других ОС, но у каждой операционки свои особенности.

rsync-ssh_backup-incremental_LD

Что такое SSH

Многие путают SSH с «шеллом», так как в названии имеется слово Shell. На самом деле это лишь сетевой протокол защищенного доступа к удаленным системам.

При помощи SSH вы сможете не только залогиниться в удаленной системе, но и обменяться файлами, монтировать файловые системы, тунеллировать через TCP (загружать данные) и многое другое.

То есть соединение через SSH позволяет и читать данные, и записывать их, что разительно отличает этот защищенный протокол от других.

Протокол SSH работает только, если есть сервер и клиент. То есть он нужен для соединения этих двух систем. Сервер должен быть один и обычно он размещен на ОС Linux. А клиент может быть не один, причем размещен клиент может быть на различных платформах: ПК, ноутбук, планшет, смартфон и т. д. И самое главное, что требуется от администратора — это настроить SSH для безопасного соединения. Потому что защита этого сетевого протокола — это самое его большое преимущество, потому важно корректно настроить сервер OpenSSH.

Настройка подключения по SSH

загрузка...

Нужно настроить правильное подключение по сетевому протоколу. А именно — указать параметры аутентификации в файле config. Этот файл будет определять особенности авторизации клиента на сервере. Если у вас стоит стандартная настройка, предустановленная Linux, то ваш сервер не в безопасности. Тогда клиент может быть подменен путем подбора логинов и все важные данные с сервера украдут. Если такая настройка вас не устраивает, тогда прежде, чем поменять ее, сделайте резервную копию файла config, на случай, если возникнет fail: sudo cp /etc/ssh/sshd_config{,.bak}.

Теперь, чтобы внести свои корректировки, запустите файл конфигураций при помощи команды в терминале: sudo nano /etc/ssh/sshd_config. Первая настройка, какую вам обязательно нужно изменить — это номер порта для подключения по SSH. По умолчанию настройка стоит 22. Вам лучше поменять ее на другой параметр, к примеру, на Port 2002. Иначе злоумышленники будут прописывать стандартный порт и смогут подобрать логин и пароль для входа через SSH.

Кроме того, вам нужно будет прописать в настройках расположение ключей на устройстве. Эта настройка вам нужна, чтобы воспользоваться публичным ключом. Суть в том, что как только появляется запрос на подключение к серверу, клиент демонстрирует свой открытый ключ, размещенный в определенной директории. Это самый стабильный способ подключения и самый безопасный. Вам нужно будет сгенерировать открытый ключ при помощи специального запроса в терминале, разместить его на сервере и после этого клиент будет сверяться по протоколу на соответствие публичного ключа.

Есть и другие важные параметры, настройка которых необходима в целях безопасности соединения. В частности, нужно указать минимально возможное значение LoginGraceTime — это время на соединение. К примеру, если указано значение 45, то авторизация не может проходить более 45 секунд. Низкий порог времени ожидания сделает SSH протокол безопасным — клиент не смогут взломать через подбор логинов и паролей. Кроме этой команды, важно запретить вход на сервер root-пользователю. Для этого используйте команды с тегом PermitRootLogin. И если хотите запретить суперадминистратору вход, то пропишите значение — no.

Вы должны запомнить базовые команды для подключения к серверу через протокол SSH. Стандартные команды имеют вид ssh удаленный_хост. После этого вы подключитесь к серверу, если клиент имеет такое же имя пользователя на удаленном устройстве. Если нет, то строку команды нужно будет изменить, указав имя пользователя сервера, к которому вы подключаетесь: ssh имя_пользователя@удаленный_хост. Чтобы прервать подключение с сервером, есть простые команды, наиболее употребляемая в Linux — это: exit.

Порой постоянно использовать команды для обычного подключения через логин и пароль становится неудобно. Тогда нужно активировать использование публичных ключей, чтобы клиент постоянно сверялся при входе, но уже в автоматическом режиме. Для этого нужно удаленно установить ключ на хост при помощи следующей команды: ssh-copy-id user@host. После этой прописи клиент сможет без промедления и лишних паролей подключаться к серверу, и при этом соединение с Linux будет предельно защищенным.

Как настроить Deploy через SSH

Опытные программисты не любят долго заморачиваться с FTP-менеджерами. Из-за них скорость обновления сайта уменьшается, так как помимо того, что нужно написать код, вебмастеру приходится предварительно его копировать и отправлять потом на хостинг, что ужасно неудобно. Потому популярной стала тенденция использования Deploy для внесения моментальных изменений на ресурс. Разберем, как настроить SSH на Linux, дабы избежать fail Deploy.

Первым делом вам предстоит настроить параметры авторизации, которые были расписаны выше. Вам нужно сделать так, чтобы клиент мог беспрепятственно подключаться к Deploy без всяких паролей. А значит нужно настроить ключ и загрузить его на хостинг. Ваша задача — это максимально ускорить работу Deploy с SSH-протоколами, потому что именно ради скорости вы и используете этот сценарий.

Ускорить работу с хостингом можно заменив его стандартное имя на специальный псевдоним. Тогда вам не придется каждый раз через терминал Linux прописывать километровое имя хоста и логин. Создать псевдоним можно в файле конфигураций config. Для этого вам нужно будет прописать через тег Host имя хоста, к примеру, myhost. А снизу вы укажите данные по IP хостинга и логину.

Следующий шаг для ускорения работы Deploy через SSH — это настройка автоматического использования ключей вместо паролей. Вам нужно будет прописать /.ssh/authorized_keys, а также расположение публичных ключей в Linux. После этого Deploy сможет работать с хостом и отправлять различные запросы уже не спрашивая у вас пароль каждый раз и это значительно облегчит вам работу! А поскольку вы заменили данные о хосте простым псевдонимом, то теперь, чтобы начать через Deploy работу с сервером при помощи сетевого протокола SSH, достаточно ввести команду: ssh myhost.

Очень часто пользователи спрашивают, как провести клонирование репозиториев через SSH при помощи Deploy. На самом деле все очень просто — вам нужно будет ввести специальную команду git clone. Только перед этим не забудьте войти на сервер, введя ssh и псевдоним хоста либо полную информацию о нем. Поскольку вы убрали идентификацию по паролю, то резервное копирование произойдет сразу после прописи команды.

Какие еще команды нужны для работы с SSH-соединение на Linux

Порой указанных команд недостаточно, чтобы комфортно работать по сетевому протоколу с хостом. Нужно уметь подстраиваться под различные изменения. Например, если вдруг изменился порт хостинга, то на клиенте также нужно изменить порт — он должен соответствовать серверному. Чтобы это осуществить, пропишите в командной строке следующее: ssh -p номер_порта удаленный_хост.

В целом, команды для управления удаленным хостом строятся по схеме: сначала пишется ssh, потом имя хоста, а затем указывается необходимая команда. Все, что вам нужно, это разобраться в том, как работают различные коды и какие действия они вызывают на удаленном сервере. Опыт и время помогут вам научиться пользоваться SSH. Вы не пожалеете, что выбрали именно такой тип протокола!

Похожие статьи

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here