По какой-то причине документация по этому процессу в интернете отсутствует или устарела. По сути, у меня есть гостевая виртуальная машина VMWare в VMWare Fusion (под управлением Ubuntu 10.10), и в качестве хоста у меня Mac OSX 10.6. Я хочу иметь возможность SSH с Mac на Linux VM. Как я могу настроить вещи так, чтобы это было возможно?
16
Ответы:
абсолютно - это всего лишь вопрос использования только локального или мостового интерфейса и определения IP-адреса системы, на которой запущен сервер ssh (с помощью команды ifconfig). установите openssh-сервер на ВМ, используйте ваш ssh-клиент, и все готово.
Если вы используете интерфейс NAT, он может быть более сложным и обычно не рекомендуется.
источник
service sshd start
или, если вы хотите запустить его при запуске,chkconfig sshd on
На самом деле, есть множество веских причин использовать NAT с виртуальными машинами, а не мостовой интерфейс. (Это старый вопрос, но он возник как первый результат, когда я искал, как это сделать, переходя с VirtualBox, где я это делаю. это все время, поэтому я подумал, что стоит добавить)
Просто несколько причин использовать NAT:
В любом случае, для моего случая (VMWare Workstation 10, хост Linux, OS X Guest) и всех, кто сталкивается с этим, это обзор того, что сработало для меня. Помимо вафли и что-если, на самом деле есть только 3 основных шага.
Так что идея примерно такая: «Разрешить вещам в локальной сети моего хоста (например, 10.1.1.0/24 или 192.168.1.0/24) подключиться к порту 22222 на хосте, который мы перенаправим вдоль порта 22 конкретный гость ". Конечно, это должен быть конкретный гость (это делает настройку ваших IP-адресов еще более полезной, и вы можете менять их все в одном месте, не открывая каждую виртуальную машину), так же, как это делается через интернет-маршрутизатор, чтобы позволить игровым вещам и т. д.
Далее, решив, какие услуги вам понадобятся
разрешите соединения на вашем хост-компьютере с «внешним» портом через iptables / firewall. Возможно, порт 22 уже будет использоваться на хосте sshd, поэтому вы можете использовать что-то вроде 22222. В этом случае добавьте что-то подобное в /etc/ufw/before.rules (и перезапустите ufw)
дайте вашей виртуальной машине зарезервированный IP-адрес в основной конфигурации VMware DHCP ( необязательно, но на него проще положиться, если вы хотите «утаптать» его от хоста ), добавив что-то вроде этого в конец / etc / vmware / VMnet8 / DHCPD / dhcpd.conf
Скажите VMWare переадресовывать соединения с 22222 на гостевую: 22, добавив это в раздел [inputtcp] в /etc/vmware/vmnet8/nat/nat.conf, а затем перезапустите службы (службы) vmware (см. Примечание ниже)
Вам также может потребоваться разрешить подключения к порту 22 в гостевой системе, в зависимости от того, что это такое / если он имеет собственный брандмауэр. В этом гостевом случае OS X это было для включения «удаленного входа в систему» через настройки общего доступа, в Linux это может быть через ufw, как на хосте выше, и т. Д.
Итак, как только это будет сделано, вы можете быть на своем ноутбуке или другом компьютере в локальной сети, подключившись по ssh к своей рабочей станции (хосту vmware) по номеру 22222, и вы будете направлены к гостю, которому сказали, чтобы он направил вас. Как упомянуто выше, если вы также сказали, что хотите иметь возможность подключиться к серверу postgres на гостевой (или vnc-сервере, который часто не зашифрован), вы можете туннелировать в той же команде (вместо того, чтобы добавить ее также в conf dhcp). Например,
и вы будете ssh'ed к гостю через ip forward в vmware, и сможете указать свой инструмент pgadmin3 на localhost: 54320 (непривилегированный) на вашем ноутбуке, и ваш трафик в сети будет зашифрован. (Обратите внимание, что localhost там уже переадресован гостю)
Примечания
VMware устанавливает маршрут так, чтобы хост мог напрямую связываться с гостем NAT, IE с консоли хоста, я могу пинговать / ssh и т. Д. С гостем NAT 192.168.198.10 (определено выше) напрямую
источник
ipfw
в какой-то момент. У меня был быстрый поиск для вас, и я не видел много полезных постов, но это упоминаетpfctl
, что я вижу в другом посте, кажется, замена pfctl в OS X 10.10 и выше. Я не могу проверить это извините, но надеюсь, что это немного поможетЧтобы упростить вещи:
ifconfig
.ssh user@ip
.Я предполагаю, что у вас установлена и запущена служба SSH.
источник
Вместо того, чтобы знать IP для SSH, я настроил Avahi на своих гостях в Linux, чтобы он передавал динамическое имя хоста, посмотрите мой ответ здесь: /superuser//a/710233/242604
Надеюсь это поможет!
источник
Вы можете использовать мостовой сетевой интерфейс, который помогает подключаться к Интернету и легко подключаться по SSH.
источник