Допустим, вам необходимо настроить беспарольный вход по SSH, SCP или SFTP на удаленный сервер begetguide.beget.tech
под пользователем begetguide
. В таком случае может пригодиться SSH-авторизация по ключу. Если имя вашего локального пользователя совпадает с удаленным, то user@
везде можно опустить. В статье подробно разберем, как выполняется авторизация по SSH, как создать ключи и подключиться из Windows через Putty и PuTTYgen.
Создание SSH-ключей
По умолчанию в корневой директории пользователя находится директория .ssh, если по какой то причине её нет, то создаём её командой:
$ mkdir ~/.ssh
1) Cоздаем открытый и закрытый ключ нашей локальной системы:
ssh-keygen -q -t ed25519 -N '' -f $HOME/.ssh/id_ed25519
Подробнее о ключах можете посмотреть с помощью команды:
$ ssh-keygen --help
2) Если в системе есть программа ssh-copy-id, то настраиваем удаленную систему на то, чтобы она авторизовывала SSH по открытому ключу:
ssh-copy-id -i ~/.ssh/id_ed25519.pub begetguide@begetguide.beget.tech
переходим к шагу 4
3) Если ssh-copy-id нет, то можно сделать это вручную.
Вот последовательность действий:
3.1) копируем открытый ключ на удаленную систему:
scp $HOME/.ssh/id_ed25519.pub begetguide@begetguide.beget.tech:~
3.2) Авторизуемся на удаленном сервере:
ssh begetguide@begetguide.beget.tech
3.3) Заносим открытый ключ нашей локальный системы в авторизованные ключи удаленной системы, устанавливаем правильные права и "убираем за собой мусор":
$ [ -d ~/.ssh ] || (mkdir ~/.ssh; chmod 711 ~/.ssh) # создаем директорию и даем права
$ cat ~/id_ed25519.pub >> ~/.ssh/authorized_keys # добавляем открытый ключ
$ chmod 600 ~/.ssh/authorized_keys # делаем правильные права
$ rm ~/id_ed25519.pub # удаляем ненужное
4) Проверяем, что все работает, запускаем на локальном компьютере:
$ ssh begetguide@begetguide.beget.tech
Пример автоматического подключения из Windows через Putty и PuTTYgen
Мы разработали видеоинструкцию, где в удобном формате объяснили все этапы автоматического подключения из Windows через Putty и PuTTYgen
Для подключения к серверу по SSH из Windows для начала скачаем с официального сайта обе утилиты.
Теперь утилитой PuTTYgen сгенерируем публичный и приватный ключи. Открываем утилиту и нажимаем Generate:

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

По окончании процесса генерации, утилита предоставит Вам сгенерированный приватный и публичный ключ. Публичный, который обведен красным прямоугольником, нужно занести в файл authorized_keys, который находится в папке .ssh корне Вашего аккаунта на сервере, а приватный ключ сохраняем себе на компьютер. Для этого нажимаем на кнопку Save private key. Учтите, что приватный ключ нельзя ни показывать, ни передавать, иначе смысл безопасного подключения теряется.

Сейчас скопируем публичный ключ в файл .ssh/authorized_keys находящийся на Вашем аккаунте. Для этого открываем утилиту Putty:

Вводим логин пользователя (он совпадает с именем от личного кабинета):

После ввода пароля видим, что нас вежливо приветствует система:

После этого полностью копируем публичный ключ из области, выделенной красным цветом (на слайде выше), в консоли пишем cat >> .ssh/authorized_keys << EOF, нажимаем Enter, затем вставляем публичный ключ, еще раз нажимаем Enter, пишем EOF и еще раз жмем Enter:

Отлично, ключ добавлен! Теперь проверим нашу беспарольную аутентификацию. Для этого открываем еще раз Putty, переходим во вкладку Auth затем нажимаем на Browse, выбираем наш приватный ключ, который мы сгенерировали и сохранили себе:

Теперь перемещаемся во вкладку Session и, также как ранее, вводим адрес нашего сервера, в нашем случае - это matrix.beget.com затем нажимаем Open:

Теперь вводим логин пользователя, который совпадает с логином от входа в личный кабинет, в нашем случае - denia0d3. Дальше жмем Enter:

После этого мы попали на сервер, заметьте, БЕЗ ввода пароля, что достаточно удобно при частых подключениях:

Если возникнут вопросы, напишите нам, пожалуйста, тикет из панели управления аккаунта (раздел “Помощь и поддержка”), а если вы захотите обсудить эту статью или наши продукты с коллегами по цеху и сотрудниками Бегета – ждем вас в нашем сообществе в Telegram.