Назад | Перейти на главную страницу

Вычисления Google - SSH - порт 22 заблокирован ufw

Ну, я делал настройку сервера, читая это статья и выполнил следующие команды -

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. Вы можете добиться этого:

  • Перейдите в консоль GCP под своим экземпляром виртуальной машины.
  • Остановите свой экземпляр виртуальной машины
  • Нажмите Edit
  • Под настраиваемыми метаданными добавьте ключ startup-script и значение:

     #! /bin/bash
     sudo ufw allow 22
    

    Надеюсь, это устранит некоторую путаницу :)