Облако
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.
Важно. Во время генерации ключа водите курсором в поле «Key» до тех пор, пока ключ не появится в поле.
6. В поле «Key passphrase» введите надёжный пароль.
7. Подтвердите пароль в поле «Confirm passphrase».
8. Нажмите кнопку Save private key и сохраните закрытый ключ.
Внимание. Никогда не передавайте закрытый ключ и пароль сторонним лицам.
9. Нажмите Save public key и сохраните открытый ключ в удобном для вас месте.
10. Вы всегда можете открыть и скопировать сохранённые ключи при помощи приложения «Блокнот».
Генерация 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 для сохранения ключа без пароля.
7. Ключ создан в директории по умолчанию или в той, которую вы прописали.
8. Публичная часть ключа будет сохранена в файле «<имя_ключа>.pub». Используйте его для последующего добавления к виртуальной машине. Файл можно открыть в текстовом виде в приложении «Блокнот».
Генерация SSH-ключей в личном кабинете сервиса Облако
Для создания SSH-ключа из личного кабинета следуйте описанным ниже шагам.
1. В личном кабинете перейдите в раздел Ключи SSH.
2. Нажмите Сгенерировать ключ.
3. Введите название ключа и нажмите Создать SSH ключ.
Важно. Допускается использование символов только латинского алфавита, нижнего подчеркивания, пробелов и точек. Длина имени должна быть от 3 до 63 символов.
4. Ключ сгенерируется и отобразится в списке SSH-ключей, его открытая часть уже будет храниться в системе, а закрытый ключ будет загружен на устройство в папку по умолчанию.
5. Для просмотра закрытого ключа найдите его на устройстве и откройте с помощью приложения «Блокнот».
Добавление SSH-ключей в личном кабинете сервиса Облако
Чтобы добавить уже созданный SSH-ключ в личный кабинет:
1. В панели управления сервиса Облако перейдите в раздел Ключи SSH.
2. Нажмите Добавить SSH ключ.
3. В поле «Содержимое ключа SSH» вставьте публичную часть SSH-ключа.
4. Задайте имя ключа в поле «Имя».
5. Нажмите Добавить SSH ключ.
Ключ появится в списке SSH-ключей.
Удаление SSH-ключей в личном кабинете сервиса Облако
1. Выберите SSH-ключ, который нужно удалить.
2. Нажмите напротив него на знак ···.
3. Выберите Удалить.
Генерация и добавление SSH-ключей при создании виртуальной машины
В личном кабинете у вас есть возможность создать и добавить SSH-ключ при создании виртуальной машины.
В процессе создания виртуальной машины в разделе SSH-ключ вам будет предложено:
-
добавить уже хранящийся в личном кабинете ключ, выбрав его из выпадающего списка;
-
добавить уже имеющийся в локальном хранилище ключ;
-
сгенерировать новый ключ.
1. При нажатии на Добавить SSH ключ откроется диалоговое окно. Добавьте открытую часть SSH-ключа, введите имя ключа для идентификации его в нашей системе и сохраните его.
Далее выберите ключ из раскрывающегося списка, чтобы добавить его к виртуальной машине.
2. При нажатии на кнопку Сгенерировать SSH ключ, откроется диалоговое окно, введите имя ключа для идентификации его в системе.
Публичный ключ автоматически добавится к виртуальной машине, а приватный скачается на ваше устройство в формате .pem.
После добавления или генерации нового SSH-ключа ключи будут появится в разделе Ключи SSH.
Подключение с помощью пароля. Подготовка
Для подключения по SSH с помощью пароля вам нужно указать пароль во время создания машины.
Добавление пароля
При создании виртуальной машины в пункте Дополнительные возможности активируйте опцию Пользовательские данные. Откроется окно, куда можно вписать скрипт для обработки cloud-init агентом, запущенным на виртуальной машине.
Впишите в поле код:
#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 адрес» в разделе Виртуальные машины.
Важно. Если вы создали машину только с приватным адресом, добавьте плавающий IP. Для этого в разделе Виртуальные машины нажмите на имя виртуальной машины, после чего в открывшемся окне нажмите Добавить IP.
3. В поле «Port» установите «22» — стандартный порт для подключения по SSH.
4. Далее для поля «Connection type» задайте значение SSH.
5. (Пункт только для тех, кто подключается с помощью SSH-ключа) в правой части экрана перейдите в Connection → SSH → Auth → Credentials.
6. (Пункт только для тех, кто подключается с помощью SSH-ключа) нажмите Browse.
7. (Пункт только для тех, кто подключается с помощью SSH-ключа) выберите файл с приватным ключом для виртуальной машины в формате .ppk.
Важно. Если ваш приватный ключ сохранен в формате .pem, конвертируйте его в формат .ppk, как описано в статье Конвертировать SSH-ключ из формата PEM в PPK.
8. Нажмите Open. Откроется консоль.
9. В строке «login as» введите имя пользователя, выданное вам при создании виртуальной машины. Оно находится в меню виртуальной машины, там стоит надпись вида [логин]@[IP машины]. Чаще всего логин совпадает с названием ОС. Например, для машины ниже это ubuntu.
10. (Пункт только для тех, кто подключается с помощью пароля) введите пароль, заданный вами при создании машины.
11. Нажмите Enter.
12. Вы подключились к виртуальной машине.
Подключение по SSH с Windows 10, Linux OS или Mac OS
Внимание. Если вы используете Linux OS или Mac OS, перейдите к шагу №6.
В Windows 10 есть встроенный клиент OpenSSH, который позволяет получать доступ к серверу через консоль так же, как и на Linux OS. По умолчанию этот компонент не активирован.
Для его установки:
1. Перейдите в меню Параметры Windows.
2. Перейдите в раздел Приложения, нажмите Дополнительные компоненты.
3. Нажмите Добавить компонент. В списке найдите OpenSSH Client и нажмите для раскрытия подробного описания.
4. Нажмите Установить.
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 |
Имя пользователя. Оно указано в информации о виртуальной машине справа от кнопки Открыть консоль. |
192.168.1.92 |
IP-адрес вашей виртуальной машины. Важно. Если вы создали виртуальную машину только с приватным интерфейсом, создайте плавающий IP-адрес и используйте его при подключении к ВМ по SSH. |
C:\Users\username\.ssh\id_rsa |
Путь к файлу с приватным ключом в вашем локальном хранилище. Ключ должен быть в формате .pem. |
7. Утилита предложит добавить устройство в список известных, напишите yes, чтобы добавить, или no, чтобы не добавлять. Нажмите Enter.
8. (Пункт только для тех, кто подключается с помощью пароля) введите пароль, который вы задали при создании машины.
9. Вы подключились к виртуальной машине.