Menu

Из Putty подключаемся к виртуальной машине по SSH с ключом

С настоящими виртуальными машинами под управлением операционной системы Linux удобно работать через кроссплатформенное приложение PuTTY. Например, можно управлять каким-нибудь удалённым Debian 11 с домашнего компьютера, на котором Windows 10.
Удивительно, но с виртуальным сервером, который запущен в VirtualBox, тоже удобно работать через PuTTY – как минимум потому, что становится очень удобно копировать текстовую информацию (команды, код, конфигурацию и т.д.), пользуясь Ctrl+Insert и Shift+Insert. Ну а возможность вставлять из буфера текст простым нажатием на правую кнопку мыши - это буквально вишенка на торте :)

1. Проброс портов

Чтобы всё заработало, начинаем с проброса портов. Это поможет связать наш физический компьютер 127.0.0.1 и виртуальную машину (обычно она получает адрес 10.0.2.15, для проверки следует посмотреть командой ip a в командной строке).
В VirtualBox открываем настройки нашей виртуальной машины, добавляем правило проброса. Номер порта хоста выдумываем из головы, от 1024 до 65535, например 9999.

Port Mapping

2. Генерация ключа

Скачиваем и запускаем Putty Key Gen. Генерируем пару ключей в формате RSA, длина 1024 (или больше на свой вкус). Нажимаем Generate. Для внесения элемента случайности необходимо хаотично перемещать мышь по экрану.
Получаем пару:
- личный (private) ключ – это файл, который сохраняем нажатием Save Private Key на свой компьютер в простое место типа C:\TEMP\key.ppk
- открытый (public) ключ – это текст вверху окна, который копируем в буфер, чтобы в будущем закинуть на виртуальную машину
Не вводите Key Passphrase, работаем без неё.

Putty key generator

OK.

Очевидно, что генератор больше не понадобится, можно закрывать генератор.

3. Перенос ключа на ВМ

Login

Скачиваем и запускаем PuTTY, подключаемся на адрес 127.0.0.1 на порт, который придумали самостоятельно. Нажимаем Open.
Входим со своими именем и паролем, например, root.

 


Устанавливаем mc, если ещё не установлен:

yum install mc -y

Обратите внимание, что в PuTTY мы копируем/вставляем команды, пользуясь Ctrl+Insert и Shift+Insert.


Запускаем файловый менеджер

mc

Если вошли как root, мы уже в директории /root.
Если вошли под другим именем, перемещаемся в /root.
Создаём новую директорию с именем .ssh – для этого нажимаем F7.
Внутри .ssh создаём файл Shift+F4.
Вставляем из буфера текстовое тело открытого ключа, добавляем одну пустую строку, нажимая Enter.
Сохраняем файл – F2.
Указываем стандартное имя authorized_keys
Для выхода щёлкаем ESC дважды.
Выход из mc – F10.
Выход из сеанса – команда exit.

4. Вход по ключу

Теперь наслаждаемся входом без ввода пароля. Для этого запускаем PuTTY и подключаемся с параметрами
Host Name – root@127.0.0.1
Port – 9999
Слева в дереве раскрываем секцию SSH, выбираем Auth и кнопкой обзора выбираем наш файл ключа на локальной машине.
Подключаемся, нажав Open.
В терминале должны появиться такие строки:


Using username "root".
Authenticating with public key "rsa-key: drach.pro"
Last login: Tue Apr 4 14:56:16 2023 from 10.0.2.2
[root@drach]#


Обратите внимание, нет ни слова про пароль.

Авторизуйтесь, чтобы получить возможность оставлять комментарии
Go to top