Не удается подключиться к серверу GCP по ssh

Я не могу подключиться к моему экземпляру GCP по ssh. Когда я связался со службой поддержки, они сказали, что sshguard блокирует запрос, и попросили меня включить -

#! /bin/bash 
sudo apt-get remove --auto-remove sshguard 
sudo apt-get purge --auto-remove sshguard

в настраиваемые метаданные в ключевом сценарии запуска.

Я перезагружал несколько раз, но не работал. Когда я пытаюсь подключиться к этому экземпляру по ssh, он сообщает, что соединение отклонено через порт 22. Подозревая, что ssh не запущен, я также попытался добавить

sudo service ssh start

в сценарий запуска, но это не сработало.
Я уже проверил правила брандмауэра, и я запускаю ubuntu-14.04 Я тоже пробовал оболочку gclod и web ssh, но ничего не работает.

0
задан 8 February 2018 в 10:55
1 ответ

Сначала мы должны убедиться, что демон OpenSSH запущен и может отвечать на соединения. Это означает, что локальный брандмауэр на экземпляре не запрещает подключения SSH или что демон SSH не управляется TCP Wrapper или SSH Guard.

Вы можете проверить ответ от демона SSH с помощью net cat (команда nc) , telnet или nmap на порт 22 из Cloud Shell. Возможно, вам придется установить пакеты в сеансе Cloud Shell. это пример установки инструмента NetCat:

sudo apt-get install -y netcat
nc <instance IP> 22

Если OpenSSH запущен и не заблокирован, вы должны получить ответ, показывающий версию OpenSSH демона.

Для проверки локального брандмауэра было бы интересно остановить iptables при запуске сценарий с командой:

Service iptables stop

В случае, если SSH будет контролироваться TCP Wrapper, записи будут добавлены в файлы /etc/hosts.allow и /etc/hosts.deny. Вы можете очистить эти файлы в своем сценарии запуска после сохранения их в качестве резервной копии:

cp -p /etc/hosts.allow /etc/hosts.allow.bak`date +%Y%m%d_%H%M`
cp -p /etc/hosts.deny /etc/hosts.deny.bak`date +%Y%m%d_%H%M`
> /etc/hosts.allow
> /etc/hosts.deny

Вы пытались запустить демон SSh в сценарии запуска, и это нормально, но обратите внимание, что команда sudo не должна использоваться в сценарии запуска, поскольку она выполняется с учетные данные root. В сценарии запуска все команды, выдаваемые с помощью sudo, отклоняются.

Затем вы можете установить следующий сценарий запуска и перезагрузить экземпляр:

#! /bin/bash 
apt-get remove --auto-remove sshguard 
apt-get purge --auto-remove sshguard
service iptables stop
cp -p /etc/hosts.allow /etc/hosts.allow.bak`date +%Y%m%d_%H%M`
cp -p /etc/hosts.deny /etc/hosts.deny.bak`date +%Y%m%d_%H%M`
> /etc/hosts.allow
> /etc/hosts.deny
0
ответ дан 5 December 2019 в 06:37

Теги

Похожие вопросы