Помощник веб-разработчикаИнструментыИнструкции

OpenSSH-клиент для Ubuntu и CentOS.

OpenSSH-client — это пакет содержащий клиентские инструменты для удалённой работы с операционной системой или туннелирования трафика по SSH. С помощью этих инструментов можно управлять системой через терминал или работать с каталогами и файлами содержащимися в удалённом компьютере. Входит в репозитории Ubuntu и CentOS. Для подключения необходимо, чтобы в удалённом компьютере был установлен SSH-сервер, а OpenSSH-client устанавливается в локальном.

Установка.

Для установки OpenSSH-client необходимо в терминале ввести команду:

для Ubuntu и Mint

sudo apt -y install openssh-client

для CentOS и RHEL

sudo yum -y install openssh-clients

После установки, клиент не требует настройки и работоспособен из «коробки», но его можно настраивать для повышения удобства.

Подключение.

Для подключения, введите в терминале команду в формате:

ssh пользователь@хост опция аргумент опция аргумент

Выделенное зелёным, требует подстановки собственных значений, пояснения:

Помимо имени пользователя и адреса хоста, иногда, необходимо указать дополнительные опции, зависящие он конфигурации SSH-сервера, если он имеет настройки по-умолчанию, то ни каких дополнительных опций указывать не нужно, т. к. они совпадают со значениями по-умолчанию в OpenSSH-client.

Наиболее востребованные опций и значения их аргументов:

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

Are you sure you want to continue connecting (yes/no)?

Ответив «yes», Вы соглашаетесь продолжить.

Далее OpenSSH-client подключится к серверу и запросит пароль пользователя в удалённой операционной системе, или кодовую фразу для расшифровки SSH-ключа (если он имеется и зашифрован). В случае успешной авторизации будет указана дата и время последней попытки входа в систему и приглашение к вводу команд от удалённой операционной системы.

Если нужно отправить только одну команду и сразу отключиться, то можно ввести команду:

ssh пользователь@хост опция аргумент команда

Отключение.

Для отключения достаточно ввести в терминале команду:

exit

Настройка.

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

ssh название_хоста

У OpenSSH-client имеется два файла конфигурации, «/etc/ssh/ssh_config» и «~/.ssh/config» (~/ — пользовательский каталог), разница между этими файлами в том, что первый задаёт конфигурацию для всех пользователей и имеет низкий приоритет, а второй задаёт конфигурацию только для пользователя в домашнем каталоге которого находится и имеет более высокий приоритет.

OpenSSH-client применяет для каждого параметра первое полученное значение, в следующем порядке:

  1. из опций, указанных в терминале;
  2. из параметров пользовательского файла «~/.ssh/config»;
  3. из параметров общего файла «/etc/ssh/ssh_config».

Этот механизм обеспечивает приоритетность применения значений. Таким образом, значения указанные в терминале имеют самый высокий приоритет, в пользовательском файле — средний, а в общем — низший, и в случае, когда в нескольких источниках имеются одинаковые параметры, OpenSSH-client применяет значение параметра из первого найденного источника, игнорируя последующие значения данного параметра.

Ниже приведён пример файла конфигурации с настроенными для двух хостов соединениями.

# Так можно оставить комментарий.
Host имя_хоста
	HostName адрес_хоста
	User имя_пользователя
	Port номер_порта
	IdentityFile /путь/до/ключа/название_ключа
	Compression yes
# Настройка второго соединения с названием remote
Host remote
	HostName 176.99.11.224
	User root
	Port 10000

Выделенное зелёным, требует подстановки собственных значений, пояснения:

На данной странице указанны далеко не все возможные параметры, в большинстве случаев это достаточно, полый список можно увидеть введя команду:

man ssh_config