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

Я случайно запрещаю SSH подключение к удаленному серверу… Что дальше?

Скажем еще раз, мы все делаем ошибки, и я только что сделал один.

Краткая история: я что-то делал на арендуемом VPS (Debian), когда заметил странное поведение. Используя netstat command Я увидел неавторизованное соединение через SSH. Я не знал, что делать, поэтому решил закрыть его соединение, используя iptables:

iptables -A INPUT -p tcp --dport ssh -s IP -j DROP

Но я устал и написал

iptables -A INPUT -p tcp --dport ssh -j DROP

и я выгнал себя (и всех остальных) ...

Как это исправить?

Есть несколько альтернатив:

  • Посмотрите, есть ли у них IPMI / "KVM" / консольный доступ к серверу, который позволяет вам управлять им, как если бы к нему была подключена физическая клавиатура.
  • Если они этого не предлагают, посмотрите, сможете ли вы загрузить виртуальную машину с компакт-диска с Linux для восстановления (некоторые поставщики предлагают это), а затем исправьте правила брандмауэра таким образом, а затем загрузите его как обычно.
  • Если у вас нет доступа к консоли, перед загрузкой для восстановления или подключением тома к другой виртуальной машине (как в случае с Amazon, ответьте user3550767), вы можете попробовать ответ Ankh2054 о перезагрузке, если вы не сохранили правила ( скорее всего, дело в том, что вы выгнали себя до того, как успели спастись). Используйте панель управления или попросите кого-нибудь выключить и снова включить его, используя не изящный сброс / выключение (также известный как жесткая перезагрузка или полное выключение), в случае, если сценарий инициализации автоматически сохраняет правила при корректной перезагрузке (кредит @jfalcon, @joshudson).

    Взвесьте недостатки этого (например, данные, записываемые во время перезагрузки, могут быть потеряны, и при загрузке может потребоваться проверка файловой системы, поэтому время загрузки увеличивается, хотя эта задержка может быть меньше, чем загрузка до восстановления).

Если вы еще не сохранили правило IPtables, вы можете перезагрузить сервер на VPS (если доступно), и правило должно исчезнуть.

Для этого нужны линии помощи, укомплектованные людьми. Позвоните поставщику услуг и попросите одного из их операторов удалить правило за вас.

Общий способ исправить неисправный экземпляр - выключить его и присоединить корневой том к рабочему экземпляру. Затем вы можете смонтировать туда том и просматривать журналы или редактировать файлы конфигурации. Затем вы можете отсоединить том и запустить его в отдельном экземпляре.

Официальный ответ: зайти в панель управления VPS, получить локальный доступ (виртуальный KVM) как-нибудь или позвонить им.

Объяснение шагов / правил, чтобы не попасться на нее снова:

  1. Есть изменения IP, маршрутизации и правил брандмауэра, которые могут испортиться и заблокировать ваш доступ.
  2. и это относится и к конфигурации выделенных сетевых устройств, а не только к VPS.

Так что, если вы не на 100% уверены, что сможете восстановить ... Я рекомендую всегда находить способ сбросить конфигурацию сети до ее предыдущего состояния ... например, открыть фоновый сеанс с помощью любого screen, nohup, или tmux, четный cron может работать для этого и добавить iptables -F или другие желаемые средства для сброса чего-либо в предыдущее состояние.