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 пользователь@хост опция аргумент опция аргумент
Выделенное зелёным, требует подстановки собственных значений, пояснения:
- пользователь — имя пользователя для аутентификации в удалённой системе;
- хост — IP-адрес удалённого компьютера, допускается указывать URL;
Помимо имени пользователя и адреса хоста, иногда, необходимо указать дополнительные опции, зависящие он конфигурации SSH-сервера, если он имеет настройки по-умолчанию, то ни каких дополнительных опций указывать не нужно, т. к. они совпадают со значениями по-умолчанию в OpenSSH-client.
Наиболее востребованные опций и значения их аргументов:
- -p — номер порта SSH-сервера, указывать не обязательно, если SSH-сервер работает на 22 порту;
- -i — путь до SSH-ключа в формате «/путь/до/ключа/название_ключа», указывать не обязательно, если включена авторизация по паролю или имеется всего один SSH-ключ, находящийся в каталоге «~/.ssh/», а его название соответствует одному из перечисленных вариантов «id_dsa», «id_ecdsa», «id_ecdsa_sk», «id_ed25519», «id_ed25519_sk», «id_rsa»;
- -C — включает сжатие трафика, аргумент не требуется. Полезна при передаче крупных файлов;
- -h — этой опции не существует, что вызовет список всех опций.
При первом подключении к удалённому компьютеру будет выдано предупреждение о том, что невозможно установить подлинность хоста, это нормально, т. к. хост не занесён в список известных хостов, при подключении он будет туда добавлен. Последней строкой будет запрос на подтверждение подключения.
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 применяет для каждого параметра первое полученное значение, в следующем порядке:
- из опций, указанных в терминале;
- из параметров пользовательского файла «~/.ssh/config»;
- из параметров общего файла «/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
Выделенное зелёным, требует подстановки собственных значений, пояснения:
- Host — задаёт название хоста, это даёт возможность подключения с указанием лишь заданного имени хоста, например «ssh имя_хоста», все параметры указанные после него и до следующего «Host» или до конца файла, будут относиться к данному хосту;
- HostName — IP-адрес или URL;
- User — имя пользователя в удалённой системе;
- Port — номер порта SSH-сервера, если его порт 22 — указывать не нужно;
- IdentityFile — путь до SSH-ключа в формате «/путь/до/ключа/название_ключа», указывать не обязательно, если включена авторизация по паролю или если имеется всего один SSH-ключ, находящийся в каталоге «~/.ssh/», а его название соответствует одному из перечисленных вариантов «id_dsa», «id_ecdsa», «id_ecdsa_sk», «id_ed25519», «id_ed25519_sk», «id_rsa».
- Compression — включает сжатие трафика, в качестве значения требуется указать «yes».
На данной странице указанны далеко не все возможные параметры, в большинстве случаев это достаточно, полый список можно увидеть введя команду:
man ssh_config