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

Последние изменения: 24.01.2023

Подключиться к машине по SSH можно с помощью пары SSH-ключей либо пароля. Рассказываем подробно о каждом способе

SSH-протокол — сетевой протокол, предназначенный для защищённого удаленного доступа к операционной системе и передачи данных. Для подключения по SSH удостоверьтесь, что в настройках файрвола установлено соответствующее правило для входящего трафика. 

Подключение с помощью SSH-ключей. Подготовка

Подключение с помощью пароля. Подготовка

Подключение к виртуальной машине по SSH

Подключение с помощью SSH-ключей. Подготовка

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

Генерация SSH-ключей в Windows 7/8

Генерация SSH ключа с использованием командной строки (cmd) в операционных системах Windows 7/8 не предусмотрена.

Для генерации воспользуйтесь приложением PuTTY и входящим в пакет дополнением PuTTYgen.

1. Скачайте и установите приложение PuTTY.

2. Запустите приложение PuTTYgen.

3. В поле «Type of key to generate» укажите «RSA».

4. Для поля «Number of bits in a generated key» установите значение «2048».

5. Нажмите Generate.

putty_gen.png

Важно! Во время генерации ключа водите курсором в поле «Key» до тех пор, пока ключ не появится в поле.

6. В поле «Key passphrase» введите надёжный пароль.

7. Подтвердите пароль в поле «Confirm passphrase».

8. Нажмите кнопку Save private key и сохраните закрытый ключ.

___________.png

Внимание! Никогда не передавайте закрытый ключ и пароль сторонним лицам.

9. Нажмите Save public key и сохраните открытый ключ в удобном для вас месте.

10. Вы всегда можете открыть и скопировать сохранённые ключи при помощи приложения «Блокнот».

_______________.png

Генерация SSH-ключей в Linux/MacOS/Windows 10

Чтобы сгенерировать ключи на Linux/MacOS/Windows 10:

1. Откройте консоль, терминал (MacOS) или командную строку (cmd.exe) для Windows 10.

2. Выполните команду:

ssh-keygen -t rsa -b 2048

3.Укажите название ключа в строке «Enter file in which to save the key».

Внимание! Если не указывать директорию (например, «.ssh/» ), ключи сохранятся в «~./<имя ключа>» (для Linux/MacOS) или в «C:\Users\<имя_пользователя>\<имя ключа>» (для Windows 10).

4. Нажмите Enter.

5. Далее задайте пароль для ключа или оставьте поле пустым и нажмите Enter, если хотите создать ключ без пароля.

6. Подтвердите пароль или оставьте поле пустым и нажмите Enter для сохранения ключа без пароля. 

______________________.png

7. Ключ создан в директории по умолчанию или в той, которую вы прописали. 

____________.png


8. Публичная часть ключа будет сохранена в файле «<имя_ключа>.pub». Используйте его для последующего добавления к виртуальной машине. Файл можно открыть в текстовом виде в приложении «Блокнот».

Генерация SSH-ключей в личном кабинете сервиса Облако

Для создания SSH-ключа из личного кабинета следуйте описанным ниже шагам.

1. В личном кабинете перейдите в раздел Ключи SSH.

2. Нажмите Сгенерировать ключ.  

436bffdec3efef7fc5437a295a522c9e.png

3. Введите название ключа и нажмите Создать SSH ключ

Важно! Допускается использование символов только латинского алфавита, нижнего подчеркивания, пробелов и точек. Длина имени должна быть от 3 до 63 символов.

4. Ключ сгенерируется и отобразится в списке SSH-ключей, его открытая часть уже будет храниться в системе, а закрытый ключ будет загружен на устройство в папку по умолчанию.

5. Для просмотра закрытого ключа найдите его на устройстве и откройте с помощью приложения «Блокнот».

Добавление SSH-ключей в личном кабинете сервиса Облако

Чтобы добавить уже созданный SSH-ключ в личный кабинет:

1. В панели управления сервиса Облако перейдите в раздел Ключи SSH.

2. Нажмите Добавить SSH ключ.

9dc42089b427d6cfcb96f7a8e1d0d5a3.png

3. В поле «Содержимое ключа SSH» вставьте публичную часть SSH-ключа.

4. Задайте имя ключа в поле «Имя».

5. Нажмите Добавить SSH ключ.

cfa24ee280e8c5bb5b37a39b35e74bed.png

Ключ появится в списке SSH-ключей.

Удаление SSH-ключей в личном кабинете сервиса Облако 

1. Выберите SSH-ключ, который нужно удалить.

2. Нажмите напротив него на знак ···.

3. Выберите Удалить.

Генерация и добавление SSH-ключей при создании виртуальной машины

В личном кабинете у вас есть возможность создать и добавить SSH-ключ при создании виртуальной машины.

В процессе создания виртуальной машины в разделе SSH-ключ вам будет предложено:

  • добавить уже хранящийся в личном кабинете ключ, выбрав его из выпадающего списка;

  • добавить уже имеющийся в локальном хранилище ключ;

  • сгенерировать новый ключ.

1. При нажатии на Добавить SSH ключ откроется диалоговое окно. Добавьте открытую часть SSH-ключа, введите имя ключа для идентификации его в нашей системе и сохраните его.

Далее выберите ключ из раскрывающегося списка, чтобы добавить его к виртуальной машине.

2. При нажатии на кнопку Сгенерировать SSH ключ, откроется диалоговое окно, введите имя ключа для идентификации его в системе.

Публичный ключ автоматически добавится к виртуальной машине, а приватный скачается на ваше устройство в формате .pem. 

После добавления или генерации нового SSH-ключа ключи будут появится в разделе Ключи SSH.

dbc55ff1d15edb6adb1ed21e8fafc1ff.png

Подключение с помощью пароля. Подготовка

Для подключения по SSH с помощью пароля вам нужно указать пароль во время создания машины.

Добавление пароля

При создании виртуальной машины в пункте Дополнительные возможности активируйте опцию Пользовательские данные. Откроется окно, куда можно вписать скрипт для обработки cloud-init агентом, запущенным на виртуальной машине.

_______________________________________.png


Впишите в поле код:

#cloud-config
password: ваш пароль
chpasswd: { expire: False }
ssh_pwauth: True

С указанным паролем вы сможете подключаться к виртуальной машине по SSH или через личный кабинет.

Пароль не обязательно добавлять в явном виде, можно вписать его хэш-сумму (тот же пароль, только преобразованный; машина сможет его считать, а для человека он выглядит как случайный набор символов). Тогда, даже если кто-то попадёт в систему, то всё равно не узнает пароль — внутри будет храниться хэш-сумма. А система даст войти только по паролю. Для генерации хэш-суммы вы можете воспользоваться скриптом на Python:

#!/usr/bin/env python3
# based on https://stackoverflow.com/a/17992126/117471
# pip3 install passlib
import sys
from getpass import getpass
from passlib.hash import sha512_crypt
passwd = input() if not sys.stdin.isatty() else getpass()
print(sha512_crypt.hash(passwd , rounds = 5000 ))

Подключение к виртуальной машине по SSH

Подключение по SSH с Windows 7/8

Важно! Подключение к виртуальной машине по SSH с использованием командной строки (cmd) в операционных системах Windows 7/8 не предусмотрено.

Для подключения воспользуйтесь приложением PuTTY.

1. Скачайте и запустите приложение PuTTY.

2. В разделе Session в поле «Host Name (or IP address)» введите IP-адрес виртуальной машины, который можно найти в столбце «IP адрес» в разделе Виртуальные машины.

8e84563dfe10615aee5bf647136efc5e.png

Важно! Если вы создали машину только с приватным адресом, добавьте плавающий IP. Для этого в разделе Виртуальные машины нажмите на имя виртуальной машины, после чего в открывшемся окне нажмите Добавить IP.

3. В поле «Port» установите «22» — стандартный порт для подключения по SSH.

4. Далее для поля «Connection type» задайте значение SSH.

5. (Пункт только для тех, кто подключается с помощью SSH-ключа) в правой части экрана перейдите в Connection  SSH  Auth.

6. (Пункт только для тех, кто подключается с помощью SSH-ключа) нажмите Browse.

browse.png

7. (Пункт только для тех, кто подключается с помощью SSH-ключа) выберите файл с приватным ключом для виртуальной машины в формате .ppk.

Важно! Если ваш приватный ключ сохранен в формате .pem, конвертируйте его в формат .ppk, как описано в статье «Конвертировать SSH-ключ из формата PEM в PPK». 

8. Нажмите Open. Откроется консоль.

login_as.png

9. В строке «login as» введите имя пользователя, выданное вам при создании виртуальной машины. Оно находится в меню виртуальной машины, там стоит надпись вида «[логин]@[IP машины]. Чаще всего логин совпадает с названием ОС. Например, для машины ниже это «ubuntu». 

21d14b5a0de01b183f860d86aeaab4b1.png

10. (Пункт только для тех, кто подключается с помощью пароля) введите пароль, заданный вами при создании машины.

mceclip0.png


11. Нажмите Enter.
12. Вы подключились к виртуальной машине.

mceclip0.png

Подключение по SSH с Windows 10, Linux OS или Mac OS

Внимание! Если вы используете Linux OS или Mac OS, перейдите к шагу №7.

В Windows 10 есть встроенный OpenSSH клиент, который позволяет получать доступ к серверу через консоль так же, как и на Linux OS. По умолчанию этот компонент не активирован.

Для его установки:

1. Перейдите в меню Параметры Windows.

_________.png

2. Перейдите в раздел Приложения, нажмите Дополнительные возможности.

__________________________.png

3. В списке найдите OpenSSH Client и нажмите для раскрытия подробного описания.

_______.png

4. Нажмите Установить.

_________________.png

5. Дождитесь завершения установки. После того, как OpenSSH Client будет установлен, перезагрузите компьютер для корректного применения настроек. Для командной строки станет доступна утилита SSH.

6. Откройте командную строку/терминал и введите команду со своими значениями:

 «ssh username@192.168.1.92» — для подключения с помощью пароля;
 «ssh username@192.168.1.92 -i "C:\Users\username\.ssh\id_rsa"»: — для подключения с помощью ключа.

username

Имя пользователя, указано справа от кнопки Открыть консоль.

21d14b5a0de01b183f860d86aeaab4b1.png

 

192.168.1.92

IP-адрес вашей виртуальной машины.

 

Важно! Если вы создали виртуальную машину только с приватным интерфейсом, создайте плавающий IP-адрес и используйте его при подключении к ВМ по SSH.

 

C:\Users\username\.ssh\id_rsa

Путь к файлу с приватным ключом в вашем локальном хранилище.

Ключ должен быть в формате .pem.

7. Утилита предложит добавить устройство в список известных, напишите «yes», чтобы добавить, или «no», чтобы не добавлять. Нажмите Enter.

yes.png

8. (Пункт только для тех, кто подключается с помощью пароля) введите пароль, который вы задали при создании машины.

mceclip1.png

9. Вы подключились к виртуальной машине.

mceclip2.png

 

Помогла ли вам статья?