После установки серверного дистрибутива Linux на виртуальную машину VirtualBox вы можете обнаружить, что подключение по SSH не работает. Это связано с тем, что по умолчанию на VirtualBox используется подключение к интернету с помощью NAT.
При таком способе подключения у вас нет возможности подключаться к виртуальной машине из своей реальной операционной системы. В частности, вы не сможете подключиться по SSH.
В данной статье мы рассмотрим сразу два способа, как можно решить эту проблему. Первый вариант – проброс портов через NAT, а второй – использование сетевого моста. Оба этих способа сохраняют доступ к интернету на виртуальной машине.
Проброс портов для SSH
Для проброса портов вам нужно знать IP адрес, который присваивается виртуальной машине. Для этого запустите виртуальную машину и выполните на ней команду «ip addr» или «ifconfig». В ответ вы получите информацию о сетевых подключениях, в которой будет указан и IP адрес. В нашем случае был получен IP адрес – «10.0.2.15».
Обратите внимание, если в вашей системе нет команды «ifconfig», то ее нужно будет установить отдельно. В случае Debian и Ubuntu Linux это можно сделать с помощью команды «apt-get install net-tools».
После того как мы узнали IP адрес виртуальную машину нужно выключить и открыть ее настройки в программе VirtualBox.
В настройках виртуальной машины нужно открыть раздел «Сеть», открыть дополнительные настройки и перейти к пробросу портов.
После этого откроется окно для проброса портов. Здесь нужно нажать на кнопку «Добавить» и заполнить следующие данные:
- Имя: SSH.
- Протокол: TCP.
- Адрес хоста: оставляем пустым или указываем 127.0.0.1.
- Порт хоста: любой свободный порт на вашей основной системе, например, 2222.
- Адрес гостя: IP адрес, который был присвоен вашей виртуальной машине. В нашем случае это 10.0.2.15.
- Порт гостя: порт SSH на виртуальной машине, по умолчанию – 22.
После проброса порта закрываем все окна с помощью кнопки «ОК».
После этого можно подключаться к виртуальной машине по SSH. Для этого можно использовать клиент OpenSSH, который доступен в Windows 10. Поскольку порт «2222» на основной системе был проброшен на порт «22» на виртуальной машине, то для подключения по SSH нам нужно выполнить следующую команду:
ssh user@localhost -p 2222
Где «user» — это имя пользователя, а «2222» — используемый порт на основной системе.
Аналогичным способом выполняется подключение с помощью PuTTY. В поле «Host Name» указываем «localhost», а в поле «Port» — «2222». Более подробно об OpenSSH и PyTTY в отдельной статье о подключении по SSH.
Как видно по скриншоту вверху, данный способ отлично работает, и мы успешно подключились по SSH к виртуальной машине VirtualBox.
Подключение через сетевой мост
Также есть альтернативный способ подключения к виртуальной машине по SSH для этого нужно изменить тип подключения с «NAT» на «Сетевой мост». В этом случае виртуальная машина будет подключена к вашей локальной сети и получит IP адрес от вашего роутера из того же диапазона, что и ваша основная система.
Для этого нужно выключить виртуальную машину и зайти в ее свойства в программе VirtualBox. В настройках нужно зайти в раздел «Сеть» и включить тип подключения «Сетевой мост».
После этого нужно запустить виртуальную машину и выполнить на ней команду «ip addr» или «ifconfig» для того, чтобы узнать, какой IP адрес она получила от роутера. В нашем случае был получен IP адрес «192.168.1.214».
После этого к виртуальной машине можно подключаться по SSH. Для этого нужно просто использовать IP адрес, который был ей присвоен роутером. Например, для того чтобы подключиться с помощью клиента OpenSSH нужно выполнить следующую команду:
ssh [email protected]
Где «user» — это имя пользователя, а «192.168.1.214» — это ее IP адрес.
Аналогично работает и подключение с помощью PuTTY. Вводим «192.168.1.214» и подключаемся по стандартному порту «22».
Как и предыдущий способ, вариант с использованием сетевого моста отлично работает, при этом виртуальная машина не теряет доступа к интернету.
Посмотрите также:
- Как сделать общую папку в VirtualBox
- Как подключиться по SSH из Windows 10
- Как запустить виртуальную машину VirtualBox из командной строки
- Как установить Linux на виртуальную машину
- Как установить Windows 7 или 10 на виртуальную машину
Автор
Александр Степушин
Создатель сайта comp-security.net, автор более 2000 статей о ремонте компьютеров, работе с программами, настройке операционных систем.
Остались вопросы?
Задайте вопрос в комментариях под статьей или на странице
«Задать вопрос»
и вы обязательно получите ответ.
Подключиться к машине по SSH можно с помощью пары SSH-ключей либо пароля. Рассказываем подробно о каждом способе
SSH-протокол — сетевой протокол, предназначенный для защищённого удаленного доступа к операционной системе и передачи данных. Для подключения по SSH удостоверьтесь, что в настройках файрвола установлено соответствующее правило для входящего трафика.
Подключение с помощью SSH-ключей. Подготовка
-
Генерация SSH-ключей в Windows 7/8
-
Генерация SSH-ключей в Windows 10, Linux OS, Mac OS
-
Генерация SSH-ключей в личном кабинете
-
Добавление SSH-ключей в личном кабинете
-
Удаление SSH-ключей в личном кабинете
-
Генерация и добавление SSH-ключей при создании виртуальной машины
Подключение с помощью пароля. Подготовка
-
Добавление пароля
Подключение к виртуальной машине по SSH
-
Подключение по SSH с Windows 7/8
-
Подключение по SSH с Windows 10, Linux OS, Mac OS
Подключение с помощью 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.
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. Вы подключились к виртуальной машине.
Уровень сложности
Простой
Время на прочтение
5 мин
Количество просмотров 57K
Программистов, сисадминов, devops’ов, тестировщиков часто объединяет использование некоторых общих технологий. Например, возможность иметь удалённый доступ к серверу пригодилось бы любому из указанной выше анекдотичной компании. Поэтому в этой статье мы рассмотрим основы работы с протоколом SSH на базовом уровня (без генерации ключей, подписей, мам, пап и кредитов). «Продвинутое» использование посмотрим уже отдельно, в следующий раз. Материал подготовил Макс, автор YouTube-канала PyLounge. Поехали!
Введение
SSH (Secure SHell — защищенная оболочка) — сетевой протокол прикладного уровня, предназначенный для безопасного удаленного доступа к различным системам (Linux, Windows, Mac).
Данный протокол шифрует всю передаваемую информацию по сети. По умолчанию, используется 22-й порт. В основном он нужен для удаленного управления данными пользователя на сервере, запуска служебных команд, работы в консольном режиме с базами данных.
Эта служба была создана в качестве замены не зашифрованному Telnet и использует криптографические техники, чтобы обеспечить, что всё сообщение между сервером и пользователем было зашифровано.
Чтобы установить SSH-соединение, необходимы два компонента: SSH-сервер и SSH-клиент. Сервер прослушивает определенный порт (по умолчанию это порт 22) и при успешной аутентификации дает доступ пользователю. Все команды, которые используются на SSH-клиенте, отправляются через защищенный канал связи на SSH-сервер, на котором они выполняются и откуда отправляют результат работы обратно клиенту.
SSH-сервер
Устанавливается на управляемой операционной системе и принимает входящие подключения от клиентских машин, проверяя соединение одним из способов:
-
по IP-адресу клиента, что не слишком безопасно из-за риска подмены;
-
по публичному ключу клиента и имени пользователя. Нужно создать приватный (закрытый) и публичный (открытый) ключ. Зашифровав информацию одним ключом, можно расшифровать ее только другим;
-
по паролю клиента, который передается в зашифрованном виде. Это один из наиболее распространенных вариантов. Вводить его нужно при каждом подключении.
Платные и бесплатные SSH-серверы есть для всех распространенных ОС:
-
BSD — OpenSSH;
-
Linux — dropbear, lsh-server, openssh-server;
-
Windows — freeSSHd, copssh, WinSSHD, OpenSSH и т. д.
SSH-клиент
Используется для входа на удаленный сервер и выполнения команд. Через клиент выполняется управление удаленным компьютером.
SSH-клиенты разработаны для всех ОС. Имеют платные и бесплатные версии:
-
Linux/BSD — openssh-client, putty, ssh, Vinagre;
-
Windows — PuTTY, SecureCRT, ShellGuard;
-
Android — connectBot.
Встроенный SSH-клиент Windows, основанный на OpenSSH, предустановлен в ОС, начиная с Windows 10 1809.
Установка OpenSSH на Ubuntu
Установка с помощью менеджера пакетов apt-get:
sudo apt-get install openssh-server
Проверка SELinux
Security Enhanced Linux, или SELinux – это усовершенствованный механизм контроля доступа, встроенный в большинство современных дистрибутивов Linux. Первоначально он был разработан Агентством национальной безопасности США для защиты компьютерных систем от вторжения злоумышленников и взлома. SELinux также может помешать работе с ssh. Поэтому необходимо убедиться, что он отключен, либо отключить его.
Устанавливаем доп. инструменты для работы с сетью и настройками безопасности:
sudo apt-get install policycoreutils
sudo apt-get install net-tools
Проверяем статус SELinux. Состояние должно быть disable
.
sestatus
Подключение к виртуальной машине с типом подключения NAT
Если виртуальная машина использует тип сетевого подключения NAT, то первоначально необходимо настроить проброс портов. Пробросим порт хоста 2222 (или любой свободный) на гостевой порт виртуальной машины номер 22 (порт ssh по умолчанию).
После этого мы можем подключиться из Windows к нашей виртуальной машине.
Подключение по ssh через PuTTY
Т.к. в качестве сетевого подключения у виртуальной машины используется NAT, при подключении мы будем указывать петлевой адрес localhost (127.0.0.1) c портом, на который был назначен проброс.
После этого вводим имя пользователя (пользователь должен существовать в linux!!!) и пароль от этого пользователя.
Подключение по ssh через Командную строку Windows (cmd)
Запускаем командную строку сочетанием клавиш Win + R . В открывшемся окне указываем cmd. Нажимаем OK.
В общем видео подключение по ssh имеет вид:
ssh имя_пользователя@ip_адрес_компьютера_к_которому_подключаемся -p порт
Если для подключения используется стандартный порт ssh — 22, то порт можно не указывать.
В открывшемся окне вводим команду:
ssh student@127.0.0.1 -p 2222
Вводим пароль пользователя. Всё. Вы великолепны!
Подключение к виртуальной машине с типом подключение Сетевой мост
С типом подключения Сетевой мост необходимо выдать статический ip для Linux системы. Дальнейшее подключение будет уже по этому, выданному ip, а не через localhost.
Установка статического ip
Начиная с выпуска Ubuntu 17.10 NetPlan теперь это инструмент настройки сети по умолчанию для управления настройками сети, заменяющий файл конфигурации /etc/network/interfaces
, который использовался в предыдущих версиях.
Файлы конфигурации для Netplan находятся в каталоге /etc/netplan
и написаны на языке YAML. В этом каталоге вы найдете файлы конфигурации YAML.
Откроем конфигурационный файл:
sudo nano /etc/netplan/*.yaml
Отредактируем конфигурационный файл:
network:
version: 2
renderer: NetworkManager
ethernets:
enp0s3:
dhcp4: false
addresses: [10.40.0.224/24]
gateway4: 10.40.0.1
nameservers:
addresses: [10.2.0.8, 10.2.0.3]
Здесь:
-
ethernets — указывает на проводное Ethernet подключение;
-
enp0s3 — имя сетевого интерфейса (можно узнать командой ifconfig);
-
dhcp4 — автоматическая выдача ipv4-адреса с помощью службы dhcp (для ipv6 указывать dhcp6);
-
addresses — ip-адрес и маска сети, которые назначаются компьютеру;
-
gateway4 — шлюз по умолчанию;
-
nameservers — список dns-серверов.
Посмотреть настройки можно с хостовой машины на Windows с помощью команды ipconfig /all.
Чтобы применить изменения и перезагрузить сеть, вводим команду:
sudo netplan apply
Подключение по ssh
Запускаем командную строку сочетанием клавиш Win + R . В открывшемся окне указываем cmd. Нажимаем OK.
В открывшемся окне вводим команду:
ssh student@10.40.0.224
Вводим пароль пользователя. Всё. Вы великолепны (2)!
Заключение
Несмотря на высокую защиту протокола, использование стандартного порта значительно повышает риск взлома сервера. Например, это можно сделать при помощи brute-force (атака полным перебором). Порт 22 — открытый, поэтому злоумышленнику нужно только подобрать логин и пароль к серверу. Это сложно, но возможно. Чтобы максимально ограничить доступ к серверу для злоумышленников (настроить брандмауэр, iptables), можно сменить SSH-порты.
Ресурсы, которые использовал
-
Как включить SSH в Ubuntu 20.04 (Routerus):https://routerus.com/how-to-enable-ssh-on-ubuntu-20-04/
-
Коротко об SSH / Хабр: https://habr.com/ru/sandbox/166705/
-
Что такое SSH (блог REG.RU): https://help.reg.ru/support/hosting/dostupy-i-podklyucheniye-panel-upravleniya-ftp-ssh/chto-takoye-ssh
Как подключиться к виртуальной машине в VMware vCloud Director? Сначала нужно настроить доступ к ней через механизм NAT. Он преобразовывает скрытые локальные IP-адреса сети во внешние.
Настройка доступа к виртуальной машине зависит от того, какую операционную систему вы на неё установили:
- для операционных систем Windows нужно настроить доступ по RDP;
- для ОС Linux нужен доступ по SSH.
Настройка доступа к виртуальной машине по RDP
Для настройки доступа по RDP (Remote Desktop Protocol) нужно открыть порт 3389 через NAT.
-
1.
Войдите в панель управления виртуальным дата-центром vCloud Director по инструкции.
-
2.
В разделе Datacenters выберите нужный виртуальный дата-центр и кликните на него.
-
3.
Во вкладке Edges выберите нужный Edge и кликните на него. После этого нажмите Configure Services, чтобы приступить к настройке.
-
4.
В появившемся окне Edge Gateway добавьте DNAT-правило. Нажмите на + DNAT Rule.
-
5.
В появившемся окне введите данные для настройки доступа:
- Applied On — выберите внешнюю сеть.
- Original IP/Range — внешний IP-адрес или диапазон IP-адресов.
Как найти внешний IP-адрес?Во вкладке Edges выберите нужный Edge. Внизу появятся настройки шлюза Edge Gateway. Выберите любой адрес из диапазона Sub-allocated IP Pool.
- Protocol — выберите протокол TCP.
- Original Port — выберите порт TCP 3389.
- Translated IP/Range — внутренний IP-адрес или диапазон адресов виртуальных машин. Например, 192.168.100.0.
- Translated Port — выберите порт TCP 3389.
После ввода настроек нажмите Keep.
-
6.
Добавленное правило появится в списке NAT44 Rules.
Готово, доступ к виртуальной машине по RDP настроен.
Удаленное подключение к виртуальной машине с ОС Windows
Как удаленно подключиться к виртуальной машине с операционной системой Windows:
-
1.
Подключитесь к ВМ. По RDP загрузка виртуальной машины осуществляется через консоль по инструкции. Введите логин и создайте пароль администратора.
Важно
Виртуальная машина должна быть включена (статус Powered On).
-
2.
Откройте удалённый рабочий стол виртуальной машины. Для этого запустите терминал Windows «Подключение к удаленному рабочему столу». Введите внешний IP-адрес из диапазона Sub-allocated IP Pool. Для входа используйте логин и пароль администратора.
Готово, вы настроили удалённый доступ к виртуальной машине с ОС Windows.
Настройка доступа к виртуальной машине по SSH
Для настройки доступа по SSH (Secure Shell) нужно открыть порт 22 через NAT.
-
1.
Войдите в панель управления виртуальным дата-центром vCloud Director по инструкции.
-
2.
В разделе Datacenters выберите нужный виртуальный дата-центр и кликните на него.
-
3.
Во вкладке Edges выберите нужный Edge и кликните на него. После этого нажмите Configure Services, чтобы приступить к настройке.
-
4.
В появившемся окне Edge Gateway добавьте DNAT-правило. Нажмите на + DNAT Rule.
-
5.
В появившемся окне введите данные для настройки доступа:
- Applied On — выберите внешнюю сеть.
- Original IP/Range — внешний IP-адрес или диапазон IP-адресов.
Как найти внешний IP-адресВо вкладке Edges выберите нужный Edge. Внизу появятся настройки шлюза Edge Gateway. Выберите любой адрес из диапазона Sub-allocated IP Pool.
- Protocol — выберите протокол TCP.
- Original Port — выберите порт TCP 22.
- Translated IP/Range — внутренний IP-адрес или диапазон адресов виртуальных машин. Например, 192.168.100.0.
- Translated Port — выберите порт TCP 22.
После ввода настроек нажмите Keep.
-
6.
Добавленное правило появится в списке NAT44 Rules.
Готово, доступ к виртуальной машине по SSH настроен.
Удаленное подключение к виртуальной машине с ОС Linux
В VMware удаленное подключение к виртуальной машине с операционной системой Linux можно настроить так:
-
1.
По умолчанию для подключения используется логин root. Пароль генерируется, когда вы первый раз запускаете виртуальную машину. Пароль отображается в свойствах виртуальной машины.
-
2.
Подключитесь к ВМ по SSH по инструкции, используя логин root и пароль.
Важно
Виртуальная машина должна быть включена (статус Powered On).
Готово, вы удаленно подключились к виртуальной машине с ОС Linux.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊
👍
You will learn how to SSH into a VirtualBox guest machine from a local host computer as well as from another computer. I use SSH as an example here, but these settings will work for other scenarios such as a web-server on your VirtualBox machine.
Content
- Why SSH into VirtualBox?
- Prepare VirtualBox
- Install SSH in VirtualBox OS
- Open SSH port in Firewall
- VirtualBox network settings
- Install SSH client
- Connect to VirtualBox from the guest OS
- Connect to VirtualBox from another computer
- Switch to the Bridge Adapter in VirtualBox
- Find out your VirtualBox IP
- SSH to VirtualBox from another computer
- Final thoughts
Why SSH into VirtualBox?
There are multiple reasons you may want to connect to your VirtualBox guest OS through SSH or other means. I often do that to test various things including:
- SSH Key authentication
- SSH in FileZilla
- Mont the remote server to your File Manager
- Transfer files between computers
- Remote desktop software
I use SSH as an example here because it is the simplest use case. However, these settings will work for other scenarios as well. You just need to install the necessary software and configure the corresponding ports in your VirtualBox OS. The rest is the same.
Prepare VirtualBox
Install SSH in VirtualBox OS
First, let’s install SSH in the VirtualBox OS. I assume you run a Debian-based distro such as Ubuntu in your VirtualBox. I have a detailed guide on how to install, configure and use SSH on Linux, if you need instructions for other Linux distros.
In Ubuntu, you need to install the OpenSSH server package:
sudo apt install openssh-server
After the installation, check the SSH status:
sudo systemctl status ssh
You should see that it is active:
If it is not, enable and start it manually:
sudo systemctl enable ssh --now
sudo systemctl status ssh
Open SSH port in Firewall
If you have a firewall enabled in your VirtualBox, it may block your SSH connection. You can find what ports are open with this command:
sudo lsof -i -P -n | grep LISTEN
If you do not find the port 22 among open ports, open it in your firewall:
sudo ufw allow ssh
sudo ufw status verbose
You can also do it using the graphical interface of the UFW firewall.
VirtualBox network settings
To open VirtualBox for SSH connections, we need to change the VirtualBox network settings to allow the SSH connection. Navigate to VirtualBox settings -> Network
and make sure you have the settings Attached to NAT.
Then go to Advanced -> Port Forwarding and add these settings:
- Name: ssh (or whatever you like)
- Protocol: TCP
- Host Port: 2222 (or any other port you like)
- Gust port: 22
The IP fields can be left empty.
Similarly, you can also set port forwarding for other interfaces.
Install SSH client
To be able to SSH into the VirtualBox OS, you must have an OpenSSH client installed on the computer you are going to connect from e.g. your host computer or your another computer:
sudo apt install openssh-client
If you use Windows as a client, install PuTTY.
Connect to VirtualBox from the guest OS
Now, connect to the VirtualBox OS using the port 2222 that we set earlier and the username of your VirtualBox OS:
ssh -p 2222 virtualbox-user-name@localhost
If you get a warning “Are you sure you want to continue connecting (yes/no)?”, type yes. You would also have to type the password of your VirtualBox user.
Now, you should have an SSH connection to your VirtualBox OS.
Connect to VirtualBox from another computer
Connecting to VirtualBox from another computer is a little more complicated. You need to change the network settings of your VirtualBox and also find out the IP address of your VirtualBox.
Switch to the Bridge Adapter in VirtualBox
The Bridge Adapter creates a routing that makes your VirtualBox network interface look like your host network interface. That way, you can to reach your VirtualBox machine from another machine.
You need to go to VirtualBox network settings and switch from NAT to Bridge Adapter.
Find out your VirtualBox IP
You can find your VirtualBox IP address, if you run this command:
You can also find it in the graphical network settings:
Note, this is your private IP address and to access it you need to be in the same network. You can SSH to your Virtualbox from outside of your local network if you use your public IP and configure the SSH port forwarding in your router. This poses an extreme security risk to your system, so I do not recommend doing so.
If you still want to do that, you can find out your public IP if you just google my ip
. To configure the SSH port forwarding in your router, you need to follow the instruction of your router. The settings vary from model to model. This is how it looks in my router:
Also, follow these SSH security measures:
- use a strong password and SSH key authentication
- disallow root access over SSH
- do not use the default 22 port
- disallow numerous SSH login attempts.
SSH to VirtualBox from another computer
Use the IP address you noted earlier to connect to the VirtualBox OS from another computer :
ssh virtualbox-user-name@virtualbox-ip-address
Final thoughts
Now, you know how to SSH into a VirtualBox machine. VirtualBox provides endless possibilities for other tests and I hope now when you know the principle, you would be able to configure it for other use cases as well.
If you want to learn more about SSH, I have a detailed guide on how to install, configure and use SSH on Linux and how to enhance the security of your SSH connection with SSH keys and white-listed IP addresses.