Ну, я делал настройку сервера, читая это статья и выполнил следующие команды -
sudo apt-get install ufw
sudo ufw enable
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Это в основном закрыло все остальные порты, и теперь SSH вообще не работает. Из браузера или из терминала OSX.
Я подключился через последовательный вход и вижу, что соединения блокируют ufw -
[ 1292.322021] [UFW BLOCK] IN=eth0 OUT= MAC=... SRC=00.00.00.00 DST=10.142.0.2 LEN=60 TOS=0x00 PREC=0x00 TTL=45 ID=7906 PROTO=TCP SPT=58028 DPT=22 WINDOW=60720 RES=0x00 SYN URGP=0
Есть ли способ использовать ssh сейчас, поскольку я вообще не могу получить доступ к машине.
По умолчанию заблокированы все порты, кроме порта 22, чтобы вы могли подключаться к экземпляру виртуальной машины по ssh. У вас также есть возможность открыть порт 80 и / или 443. Вы можете увидеть, какие порты открыты по умолчанию, проверив правила брандмауэра в облачной консоли. Я упоминаю об этом, чтобы сообщить вам, что вам не нужно устанавливать ufw в будущем.
Вам нужно будет предоставить сценарий запуска к экземпляру виртуальной машины, чтобы включить SSH. Вы можете просто создать простой сценарий bash с помощью любой из перечисленных ниже команд.
$ ufw разрешить ssh
или
ufw разрешить 22
Вам не нужно использовать префикс sudo, поскольку сценарий запуска уже выполняется с правами root.
Просто комплимент принятому ответу.
Некоторые спрашивают, как можно включить сценарий запуска на виртуальную машину, к которой нельзя подключиться даже по SSH. Вы можете добиться этого:
Под настраиваемыми метаданными добавьте ключ startup-script
и значение:
#! /bin/bash
sudo ufw allow 22
Надеюсь, это устранит некоторую путаницу :)