我正在尝试将 ssh 进入 Azure 应用服务的容器。我已经按照这里的说明配置了我的容器。
https:/docs.microsoft.comen-gbazureapp-servicecontainersconfigure-custom-container#enable-ssh
以及这里的连接说明。
https:/docs.microsoft.comen-gbazureapp-servicecontainersapp-service-linux-ssh-support。
下面是我的docker文件的相关步骤。
RUN apt-get update \
&& apt-get install -y --no-install-recommends dialog \
&& apt-get update \
&& apt-get install -y --no-install-recommends openssh-server \
&& echo "root:Docker!" | chpasswd
EXPOSE 8000 2222
COPY sshd_config /etc/ssh/
CMD ./bin/start.sh
其中start.sh开始运行服务ssh start. sshd_config文件是
# This is ssh server systemwide configuration file.
#
# /etc/sshd_config
Port 2222
ListenAddress 0.0.0.0
LoginGraceTime 180
X11Forwarding yes
Ciphers aes128-cbc,3des-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr
MACs hmac-sha1,hmac-sha1-96
StrictModes yes
SyslogFacility DAEMON
PasswordAuthentication yes
PermitEmptyPasswords no
PermitRootLogin yes
Subsystem sftp internal-sftp
当我试着从门户网站用ssh连接时,它先是说 "CONNECTED | CREDENTIALS"
然后过了30秒左右,它说 "SSH CONNECTION CLOSE - Error: connect ECONNREFUSED <ip>:2222"
不知道为什么会连接不上?
好了,刚刚得到这个工作,似乎把#!binbash被遗漏在start.sh的顶部。