Виртуальная машина
February 18, 2023

Виртуальная машина. SSH-подключение.

У нас есть тестовая виртуальная машина, у нас есть её IP, SSH-ключ сгенерирован. Пришло время подключиться!

На нашей тестовой виртуальной машине создан корневой (админский) пользователь - root. Его мы будем использовать для подключения. IP своей виртуальной машины вы знаете где взять.

Открываем терминал WSL ОС Ubuntu. Набираем команду (вместо <IP> подставляем IP своей виртуальной машины). На вопрос "Are you sure you want to continue connecting" вводим "yes"

ssh root@<IP>

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

Просто, не правда ли? Просто, но пока не удобно (нужно вводить пароль root-а) и не безопасно подключаться под root. Поэтому мы создадим пользователя (введем для него пароль и информацию о пользователе):

 adduser <username>

Чтобы наш пользователь мог выполнять команды с sudo его нужно добавить в специальную группу sudoers. Делается это командой:

usermod -a -G sudo <username>

Новый пользователь создан.

Немного подправим настройки ssh-сервера, редактируем файл настроек

nano /etc/ssh/sshd_config

Удаляем символ комментария "#" у параметра "PubkeyAuthentication"

Далее перезагружаем ssh-сервер:

systemctl reload ssh 

Отключаемся от ssh с помощью команды:

exit

Теперь подключаемся под нашим новым пользователем (у меня это aseverin), вводим пароль от этого пользователя:

ssh aseverin@92.53.88.109

Создаем каталог ".ssh"

mkdir .ssh

Открываем редактор, чтобы создать файл с авторизированным ключом

nano ~/.ssh/authorized_keys

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

Отключаемся от ssh, и подключаемся заново. Теперь система нас просит ввести пароль именно от SSH-ключа.

Фу-ф. Мы справились =)

ЗЫ

Для "полной" безопасности, вы можете в настройка ssh-сервера найти ключ "PasswordAuthentication" и изменить его значение на "no". Таким образом зайти на сервер можно будет только с помощью авторизованного ключа. Это хорошая рекомендация для боевого сервера. Только не забудьте сначала настроить пользователя, добавить его в группу sudoers, записать файл с авторизованным ssh-ключом и только потом отключайте вход по паролю.

Но, если вдруг что-то пойдет не так, и вы потеряете доступ к серверу по ssh, Selectel предоставляет доступ к консоли сервера. Кликните на сервер в списке и откройте вкладку "Консоль".