Как включить ssh-соединение в Azure

#node.js #azure #ssh #dockerfile #port

#node.js #azure #ssh #dockerfile #порт

Вопрос:

У меня возникли проблемы с включением ssh-соединения для моего веб-приложения Azure (node js express server). Я добавил этот код в свой Dockerfile.

 RUN apt-get update  
  amp;amp; apt-get install -y --no-install-recommends openssh-server 
  amp;amp; echo "root:Docker!" | chpasswd

EXPOSE 2222 80
 

при входе в ssh в Azure я получаю это сообщение:

 SSH CONNECTION CLOSE - Error: connect ECONNREFUSED 172.16.207.2:2222
 

что еще мне нужно сделать, чтобы это сработало?

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

1. Есть какие-либо обновления по этому вопросу? Решает ли это вашу проблему? Если это работает для вас, пожалуйста, примите это.

Ответ №1:

Причина, по которой вы не можете подключиться к контейнеру, даже если вы включаете SSH, следуя инструкциям, заключается в том, что вы пропускаете один шаг для завершения настройки. Шаг заключается в том, что вам также необходимо изменить порт, который прослушивает SSH, на порт 2222 в sshd_config файле. То, что вы сделали, просто предоставляет порт 2222, но не заставляет SSH прослушивать его.

Самый простой способ — скопировать sshd_config здесь, а затем добавить строки, подобные этой:

 ENV SSH_PORT 2222
COPY sshd_config /etc/ssh/
 

Ответ №2:

Можете ли вы попробовать с этим?

 # ssh
ENV SSH_PASSWD "root:Docker!"
RUN apt-get update 
    amp;amp; apt-get install -y --no-install-recommends openssh-server 
    amp;amp; echo "$SSH_PASSWD" | chpasswd 

COPY sshd_config /etc/ssh/
    
EXPOSE 8000 2222