Невозможно подключиться по ssh к виртуальной машине Azure — время ожидания соединения истекло

#azure #ssh #azure-virtual-machine

#azure #ssh #azure-virtual-machine

Вопрос:

Я пытаюсь создать виртуальную машину с помощью Azure CLI и ssh запустить ее из облачной оболочки Azure. Я следовал официальному руководству (https://learn.microsoft.com/en-us/azure/virtual-machines/linux/quick-create-cli ), выполнив эти команды:

 $ az group create --name myGroupName --location westus2
$ az vm create --resource-group myGroupName --name myVmName --image UbuntuLTS --admin-username azureuser --generate-ssh-keys
  

Однако при попытке подключиться через ssh общедоступный IP-адрес, указанный второй командой выше, время ожидания соединения истекло:

 $ ssh -vvv azureuser@publicIpAddress
OpenSSH_7.2p2 Ubuntu-4ubuntu2.10, OpenSSL 1.0.2g  1 Mar 2016
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: resolving "publicIpAddress" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to publicIpAddress [publicIpAddress] port 22.
debug1: connect to address publicIpAddress port 22: Connection timed out
ssh: connect to host publicIpAddress  port 22: Connection timed out
  

Любые предложения о том, что я делаю неправильно?

Кроме того, я пробовал запускать эти команды в Powershell на своем локальном компьютере. Я обнаружил, что после создания новой группы ресурсов и последующего запуска виртуальной машины я могу ssh подключиться к виртуальной машине с помощью Powershell. Но когда я отключаюсь от виртуальной машины, а затем пытаюсь ssh вернуться к ней, я не могу повторно подключиться, поскольку это приводит к ошибке тайм-аута. Если я попытаюсь создать новую виртуальную машину в той же группе ресурсов, я вообще не смогу ssh войти в нее. Если вместо этого я создам новую группу ресурсов и новую виртуальную машину, я смогу ssh войти в нее с первого раза, но не при последующих попытках.

Комментарии:

1. ssh -vvv azureuser@publicIpAddress — вы указали здесь свой фактический публичный IP-адрес? Судя по сообщениям журнала, похоже, что вы не выполняли этот шаг.

2. Да, я использовал фактический общедоступный IP-адрес и просто заменил его на «publicIpAddress», чтобы опубликовать его здесь.

Ответ №1:

Насколько я знаю, вы можете проверить, есть ли NSG, автоматически связанный с сетевой картой или подсетью вашей виртуальной машины политикой Azure или другими в вашей текущей подписке после создания виртуальной машины Azure. Вероятно, это добавляет некоторые правила входящего порта в NSG для блокировки сетевого подключения. Если вы хотите подключиться по SSH к своей виртуальной машине Azure. у него должно быть правило входящего доступа с более высоким приоритетом, чтобы разрешить доступ к порту 22, как показано ниже. Вы также можете добавить общедоступный IP-адрес вашего клиента в качестве источника в правиле, чтобы сузить ограничение.

введите описание изображения здесь

Комментарии:

1. Спасибо за предложение @Nancy Xiong. Вы правы, что моя подписка добавляет некоторые правила входящих портов в NSG для блокировки SSH-соединений. Похоже, это происходит в течение 1-2 минут с момента создания виртуальной машины. Когда я изменяю эти правила, чтобы разрешить SSH с моего исходного IP-адреса, NSG автоматически восстанавливает правила до предыдущих настроек. Поэтому я думаю, что может быть невозможно изменить их навсегда из-за политики Azure в моей подписке.

2. Чтобы автоматически найти проблемные правила: попробуйте протестировать свое соединение на портале Azure [! [введите описание изображения здесь][1]][1] [1]: i.stack.imgur.com/nCt97.png Он указывает вам на точные входящие правила на вкладке «Сеть», которые могут блокировать ваши подключения.

Ответ №2:

Попробуйте протестировать свое соединение на портале Azure

введите описание изображения здесь

Это указывает вам на точные входящие правила на вкладке «Сеть», которые могут блокировать ваши подключения.

Ответ №3:

Понял, что я потерял соединение из-за смены сетевых адаптеров в моей виртуальной машине, поэтому, если это относится и к вам, вам следует взглянуть на это и отключить старый общедоступный ip-адрес (подключенный к вашему старому сетевому адаптеру) и связать его снова, но с новым сетевым адаптером. Надеюсь, это поможет кому-то еще 🙂

Ответ №4:

В моем случае это решает проблему: сбросьте конфигурацию SSH в Сбросить пароль> Сбросить только конфигурацию> Кнопка обновления:

введите описание изображения здесь

Ответ №5:

Помимо вышеуказанных шагов, вы можете запустить службу сервера OpenSSH SSH вручную из служб Windows.

Services.exe -> SSH-сервер OpenSSH -> Запустите службу и установите тип запуска с ручного на автоматический.