如何在 azure 上启用 ssh 连接

How to enable ssh connection on azure

我在为我的 azure web 应用程序(node js express 服务器)启用 ssh 连接时遇到问题。 我已将这段代码添加到我的 Dockerfile 中。

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

EXPOSE 2222 80

在 azure 中输入 ssh 时,我收到此消息:

SSH CONNECTION CLOSE - Error: connect ECONNREFUSED 172.16.207.2:2222

我还需要做什么才能使其发挥作用?

你能试试这个吗?

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

COPY sshd_config /etc/ssh/
    
EXPOSE 8000 2222

按照步骤开启SSH后还是连接不上容器的原因是少了一步配置完成。步骤是您还需要在 sshd_config 文件中将 SSH 监听的端口更改为端口 2222。你所做的只是暴露端口 2222,但不要让 SSH 监听它。

最简单的方法是复制 sshd_config here 然后添加如下行:

ENV SSH_PORT 2222
COPY sshd_config /etc/ssh/