Поиск по сайту:

Что такое SSH и как его использовать? Основы безопасной оболочки, которые вам нужно знать

Вам нужно удаленно подключиться к машине с Linux? Вам нужен SSH. Вот все, что нужно знать об этой удобной команде Linux.

Если вам когда-нибудь придется выполнять какое-либо удаленное администрирование, в какой-то момент вам придется войти на сервер Linux и приступить к работе. Для этого вам понадобится использовать SSH (он же Secure Shell). Те, кто никогда не пользовался таким инструментом, будут в восторге, поскольку он не только упрощает вход в удаленные системы, но и очень безопасен.

Что такое СШ?

SSH — это безопасный способ входа на удаленный компьютер. После входа в систему вы можете запустить любую команду, необходимую для работы с сервером. Прежде чем вы подумаете, что использовать SSH сложно, не расстраивайтесь. Использовать SSH не только довольно просто, но и весьма эффективно. 

Как использовать SSH для подключения к удаленному серверу  

Что вам понадобится: Я хочу рассказать вам о первых шагах использования SSH. Я буду демонстрировать работу на Pop!_OS Linux, но эта информация подойдет для любого дистрибутива Linux, поддерживающего SSH (а их большинство). Единственное, что вам нужно будет выполнить в рамках этого руководства, — это два работающих экземпляра Linux. Вот и все. Давайте займемся SSH. 

1. Войдите на удаленный компьютер.

Использование SSH позволяет вам войти с локального компьютера на удаленный компьютер. Вам потребуются учетные записи пользователей на обеих машинах. Эти учетные записи не обязательно должны быть одинаковыми на каждой машине (я объясню это через минуту), но вам необходимо иметь учетные данные для входа в обе машины.

Вам также понадобится IP-адрес (или домен) сервера, на который вы хотите войти. Скажем, например, наш удаленный сервер находится по IP-адресу 192.168.1.11, и наша учетная запись пользователя одинакова на обеих машинах. Войдите в свой настольный компьютер, откройте окно терминала и войдите на удаленный компьютер с помощью команды:

ssh 192.168.1.11

Вам будет предложено ввести имя пользователя на удаленном компьютере. После успешной аутентификации с помощью пароля вы войдете на удаленный компьютер и сможете начать работу.

2. Войдите через доменное имя.

Допустим, удаленный компьютер связан с доменом www.example.com. Вы можете войти в него с помощью команды:

ssh www.example.com

3. Войдите в систему, используя другое имя пользователя.

А что, если ваше имя пользователя на удаленном компьютере не совпадает с именем на рабочем столе? Если ваше имя пользователя на удаленном компьютере — olivia, вы можете войти в систему с помощью команды:

ssh olivia@192.168.1.11

Вам будет предложено ввести пароль Оливии (не локального пользователя).

4. Авторизуйтесь через нестандартный порт

Обычно SSH использует порт 22. Некоторые администраторы могут изменить этот порт (в целях безопасности). Если администратор сервера настроил SSH для прослушивания порта 2022, вы не можете просто ввести стандартную команду SSH для входа в систему. Вместо этого вам нужно добавить параметр -p (для порта), например: :

ssh olivia@192.168.1.11 -p 2022

Конфигурация сайта SSH

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

  • веб-сервер — 192.168.1.11
  • почтовый сервер — 192.168.1.12
  • сервер базы данных — 192.168.1.13

Давайте настроим SSH так, чтобы вам приходилось заходить только с помощью команд:

  • SSH веб1
  • SSH электронная почта1
  • ssh db1

1. Создайте файл конфигурации

Мы также предположим, что пользователь в сети 1 — Оливия, пользователь в электронной почте 1 — Натан, а пользователь в db1 — тот же пользователь, что и пользователь на локальном компьютере. Чтобы это настроить, мы должны создать файл конфигурации в каталоге ~/.ssh. Для этого вернитесь в окно терминала на локальном компьютере и введите команду:

nano /home/USER/.ssh/config

Где USER — ваше имя пользователя Linux.

2. Настройте файл

В этот файл добавьте следующие строки:

Host web1
   Hostname 192.168.1.11
   User olivia

Host email1
   Hostname 192.168.1.12
   User nathan

Host db1
   Hostname 192.168.1.13

Сохраните и закройте файл. Теперь вы сможете войти на эти разные серверы с помощью более коротких команд (например, ssh web1, ssh email1 и ssh db1). Однако важно помнить, что для web1 вам будет предложено ввести пароль Оливии, email1 запросит пароль Натана, а db1 запросит того же пользователя, что и локальный.

Запуск команд на удаленной машине через SSH

Это удобный маленький трюк. Допустим, вы не обязательно хотите входить на удаленный компьютер, но вам нужно выполнить команду. Например, вы хотите вывести содержимое домашнего каталога удаленного пользователя. Для этого вы можете ввести команду:

ssh olivia@192.168.1.11 ls /home/olivia

Поскольку мы настроили наш файл конфигурации, мы можем сократить эту команду до:

ssh web1 ls /home/olivia

Мы можем отрезать немного больше от этой команды, потому что в Linux есть ярлык для домашнего каталога пользователя (поскольку /home/olivia и ~/ — это одно и то же). Для этого наша команда выглядит так:

ssh web1 ls ~/

И это, мои дорогие друзья, основы использования SSH для входа на удаленный компьютер с Linux. Если вам когда-нибудь придется выполнять удаленное администрирование машины с Linux, это то, что вам нужно знать. В следующий раз я познакомлю вас с аутентификацией по ключу SSH для еще более безопасного удаленного входа в систему.

Статьи по данной тематике