ssh howto

С чем и как едят SSH

ssh (Secure Shell) — во-первых это протокол для подключения к удалённым устройствам по защищённому каналу.
Во-вторых это UNIX утилита для подключения к удалённым устройствам. Вот о ней-то и пойдёт речь.

Чаще всего для подключения к удалённым устройствам вы будете использовать ssh в следующем виде:

ssh username@remote.host.ru

Где «username» это имя пользователя на удалённом устройстве, а «remote.host.ru» это доменное имя или IP адрес удалённого устройства.

Ах да 🙂 Удалённое устройство, это не то, которое кто-то зачем-то удалил, а просто устройство, подключенное к сети. Например, сервер или компьютер в другом городе, иногда мобильный телефон.
Чаще всего, удалённым устройством будет сервер/компьютер/маршрутизатор работающий под управлением операционной системы из семейства Unix (например, Linux, MacOS, FreeBSD).

По-умолчанию служба ssh работает на 22 порту, однако, в зависимости от настроек может быть запущена и на другом порту. В этом случае в строке подключения нужно указать порт, к которому нужно подключиться. Порт указывается с ключом «-p». Например, если ssh работает на порту 2222, то строка подключения будет выглядеть так:

ssh -p 2222 username@remote.host.ru

Если вы подключаетесь у удалённому устройству впервые, то вам будет предложено принять отпечаток ключа. Что-то вроде этого:

ED25519 key fingerprint is SHA256:Z6Zyf+dc8RqUObZGEbwxcWefzY7P6R+JzFlXf0u/CBM.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

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

Авторизация по ключу.

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

ssh-keygen

Утилита сгенерирует ключ, спросит, куда его сохранить (можно нажать Enter для значения по-умолчанию) и запросит пароль для защиты самого ключа. В большинстве случаем можно нажать Enter, тогда ключ не будет защищён паролем. Однако, если требуется защита ключа (ключ будет доступен кому-то кроме вас, будет отправляться по почте, переноситься на флешке и проч.) тогда вводите пароль.

Теперь нужно скопировать открытую часть ключа на удалённое устройство, чтобы оно могло вас авторизовать (по примеру выше):

ssh-copy-id -p 2222 username@remote.host.ru

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