У меня есть машина VirtualBox с Ubuntu 16.04 (т.е. машина A), работающая на OSX, подключенная к сети университетского городка. Я хотел бы время от времени подключаться к машине по ssh со своего ноутбука, чтобы удаленно помогать своим коллегам, и я рассмотрел разные варианты.
Кажется, один из вариантов - «обратный ssh» (связанный с «переадресацией портов» или «ssh-туннелированием»). У моего ноутбука нет фиксированного IP-адреса, поэтому я не могу использовать прямой обратный ssh. Возможное решение - использовать прокси-машину. Идея состоит в том, что, когда мне нужно помочь моим коллегам, они будут вводить инструкции по подключению с машины A, это создаст работающий экземпляр GCP, и я смогу затем подключиться к машине A извне, используя этот мост (прокси ?) Опорная машина.
/ Academic intranet
+----------+ |
| GCE | | +----------+
| instance |<----|--| Machine A|
+----------+ | +----------+
|
\
/ Academic intranet
+----------+ |
+-------------+ ssh | GCE | ssh | +----------+
| Laptop dynIP|---------->| instance |-----|->| Machine A|
+-------------+ +----------+ | +----------+
|
\
У нас есть облачная учетная запись Google и gcloud
установлена на машине A. Насколько я могу судить, в GCP уже есть очень простой способ настроить туннель в GCP:
https://cloud.google.com/community/tutorials/ssh-tunnel-on-gce
Я попробовал, и все работает. Это заставляет меня предположить, что то же самое должно быть возможно на GCP для последнего шага: чтобы я мог открыть окно браузера SSH на запущенном экземпляре GCP, чтобы я мог оттуда подключиться к машине A по ssh.
Любые идеи?
ИЗМЕНИТЬ:
Вот как далеко я продвинулся по туннелю ssh по инструкциям gce:
На машине A:
gcloud compute instances create --zone us-west1-a tunnel
gcloud compute ssh --zone us-west1-a tunnel -- -N -p 22 -D localhost:2210
На своем ноутбуке я могу открыть https://console.cloud.google.com/compute/instances, а затем откройте окно браузера для подключения по SSH.
Из имени хоста экземпляра GCP tunnel
, я думаю, мне не хватает чего-то вроде:
ssh-into-machine-A-from-here
Это последняя команда, которую мне не хватает. Или, может быть, туннелю ssh в gcloud
нужны дополнительные флаги / параметры.
gcloud
, а затем выполнитьssh -p 2210 username@localhost
в экземпляре GCP? - person 719016   schedule 11.10.2019