Я использую VirtualBox в Windows 10 (хост) для создания двух виртуальных машин (Guest DT
и Guest S
). Могу я SSH от Guest DT
к Guest S
?
Guest DT
Рабочий стол Ubuntu 18.04. Guest S
выполняет Сервер Ubuntu 18.04. Я неопытен с SSH. Я погуглил и прочитал ответы на 'подобные вопросы' на этом сайте.
На Guest DT
, Я делаю это:
$ ssh test@10.0.2.15
ssh: connect to host 10.0.2.15 port 22: Connection refused
Примечание:
test
мое имя пользователя на Guest S
.На Guest DT
:
$ ssh-keygen
$ cat ~/.ssh/id_rsa.pub
ssh-rsa <a very long key> neil@neil-VirtualBox
На Guest S
:
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ touch ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
$ echo "ssh-rsa <a very long key> neil@neil-VirtualBox" > ~/.ssh/authorized_keys
$ /etc/init.d/ssh restart
На Guest S
:
test@server01:~$ service sshd status
ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2018-06-15 02:05:04 UTC; 1h 16min ago
Process: 903 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Main PID: 906 (sshd)
Tasks: 1 (limit: 2317)
CGroup: /system.slice/ssh.service
└─906 /usr/sbin/sshd -D
Jun 15 02:05:04 server01 systemd[1]: Starting OpenBSD Secure Shell server...
Jun 15 02:05:04 server01 sshd[906]: Server listening on 0.0.0.0 port 22.
Jun 15 02:05:04 server01 sshd[906]: Server listening on :: port 22.
Jun 15 02:05:04 server01 systemd[1]: Started OpenBSD Secure Shell server.
$ sudo ufw status
[sudo] password for test:
Status: inactive
/etc/ssh/sshd_config contains :
#PubkeyAuthentication yes
Я думаю, что сетевая установка значения по умолчанию для гостя VirtualBox NAT
и действительно не предназначается для достижения этого типа сетевой коммуникации; но на основе старых сообщений может быть возможным путем передачи несистемного порта порту Guest и использования петлевого IP-адреса по умолчанию для достижения Гостя. 10.0.2.2 обратная петля по умолчанию.
Однако самое легкое должно гарантировать, чтобы Вы выбрали корректные сети для каждого из Гостей. Завершите работу Вас, гостевые машины, затем в VirtualBox редактируют Режим организации сети, подходящий для Ваших потребностей (отметьте сетку).
Используя NAT, VirtualBox использует специальный IP 10.0.2.2 в качестве обратной петли (по крайней мере, я думаю, что это все еще верно). Поэтому порты, переданные от обратной петли, доступны всем гостям. Я думаю, что необходимо смочь использовать в своих интересах это. Для передачи использования сети NAT, потребует одного из следующего:
Используя VBoxManage, установка Передача NAT несистемного порта (1024–65535) к более низкому системному порту (<1024).
Guest S
IP-адрес 10.0.2.15
, на вопрос. Настройте перенаправление портов на Хосте Virtualbox, работайте:
VBoxManage modifyvm "VM называет" - natpf1 "guestssh, tcp, 2222, 22"
Весь трафик TCP, прибывающий в порт 2222 в любом интерфейсе хоста, будет передан для портирования 22 в госте. Название протокола tcp является обязательным определением атрибута, какой протокол должен использоваться для передачи (udp, мог также использоваться). Имя guestssh является чисто описательным и будет автоматически сгенерировано, если опущено. Число после - natpf обозначает сетевую плату, как в других частях VBoxManage.
Проверьте добавленное правило:
VBoxManage showvminfo myserver | grep 'Правило'
Подключение к Guest Server
через петлевое отображение хоста и перенаправление портов для Guest S
neil@neil-VirtualBox$ ssh-p 2222 test@10.0.2.2
Альтернатива: изменение (Гость S)/etc/sshd_config для слушания на несистемном порте (> 1024). Затем перезагрузка ssh.
Просто удалите все ключи цифрового отпечатка ECDSA (вероятно, SHA256) содержавший в рамках каталога знать-хостов.
vi ~/.ssh/known_hosts