1. Если вы используете сетевую конфигурацию По умолчанию , Compute Engine создает правила брандмауэра, которые разрешают TCP-соединения через порт 22 для вас. Их можно увидеть в консоли GCP:
GCP Console => VPC network => Firewall rules
Сеть по умолчанию имеет предварительно настроенные правила брандмауэра, которые позволяют всем экземплярам в сети взаимодействовать друг с другом. В частности, эти правила брандмауэра разрешают ICMP, RDP и S SH входящий трафик c из любого места (0.0.0.0/0
). Должно быть правило брандмауэра Ingress для S SH: default-allow-ssh
.
2. Если вы используете Пользовательскую сеть, правило брандмауэра для S SH должно быть создано вручную.
С облачной консолью
GCP Console => VPC network => Firewall rules => Create Firewall Rule
Name: mynet-allow-ssh
Network: mynet
Targets: All instances in the network
Source filter: IP Ranges
Source IP ranges: 0.0.0.0/0
Protocols and ports: Specified protocols and ports
tcp: ports 22
С командной строкой
$ gcloud compute --project=myproject firewall-rules create mynet-allow-ssh --direction=INGRESS --priority=1000 --network=mynet --action=ALLOW --rules=tcp:22 --source-ranges=0.0.0.0/0
Подробнее см. Compute Engine => Документация => Подключение к экземплярам
Говоря о внесении в белый список "IP-адреса Google Cloud Console" для случая, когда вы нажимаете кнопку "S SH" в Cloud Console, это довольно неосуществимо, поскольку соединение S SH устанавливается поверх HTTPS через сервер ретрансляции, который может иметь непредсказуемый адрес из внешнего пула IP-адресов Google. Использование хоста Bastion с одним IP-адресом stati c более рационально с этой точки зрения.