我怎样才能ssh到Azure上的“Linux上的Web应用”docker容器中?

我怎样才能ssh到Azure上的“Linux上的Web应用”docker容器中?,linux,azure,docker,azure-web-app-service,Linux,Azure,Docker,Azure Web App Service,如何使用Linux上的新Web App服务ssh到容器中 它目前处于预览模式,我不确定这是否不可能,或者我已经监督了设置。我不相信您可以。但是,根据您想要执行的操作(例如查看日志文件),您可以通过高级工具>调试控制台>bash从Kudu使用bash 这就是说,Linux上的Web应用程序正在预览中——因此SSH在未来可能成为可能 我不相信你能。但是,根据您想要执行的操作(例如查看日志文件),您可以通过高级工具>调试控制台>bash从Kudu使用bash 这就是说,Linux上的Web应用程序正在

如何使用Linux上的新Web App服务ssh到容器中


它目前处于预览模式,我不确定这是否不可能,或者我已经监督了设置。

我不相信您可以。但是,根据您想要执行的操作(例如查看日志文件),您可以通过高级工具>调试控制台>bash从Kudu使用bash


这就是说,Linux上的Web应用程序正在预览中——因此SSH在未来可能成为可能

我不相信你能。但是,根据您想要执行的操作(例如查看日志文件),您可以通过高级工具>调试控制台>bash从Kudu使用bash


这就是说,Linux上的Web应用程序正在预览中——因此SSH在未来可能成为可能

目前,这是不可能的。请参考这个

2017-6-8更新


现在,这是可能的,请参阅。

目前,这是不可能的。请参考这个

2017-6-8更新


现在,这是可能的,请参考。

从今天的2019年4月1日起,根据本文件,这是可能的:。这是一种黑客行为,但确实奏效了


不是愚人节的玩笑。

从今天的2019年4月1日起,根据以下文件,这是可能的:。这是一种黑客行为,但确实奏效了


这不是愚人节的玩笑。

以下是我在linux容器中使用ssh和asp.net核心应用程序的一个示例:

Dockerfile

.net核心项目根文件夹中的init.sh

service ssh start
dotnet MyApp.dll
#
# /etc/ssh/sshd_config
#

Port            2222
ListenAddress       0.0.0.0
LoginGraceTime      180
X11Forwarding       yes
Ciphers                 aes128-cbc,3des-cbc,aes256-cbc
MACs                    hmac-sha1,hmac-sha1-96
StrictModes         yes
SyslogFacility      DAEMON
PrintMotd       no
IgnoreRhosts        no
#deprecated option 
#RhostsAuthentication   no
RhostsRSAAuthentication yes
RSAAuthentication   no 
PasswordAuthentication  yes
PermitEmptyPasswords    no
PermitRootLogin     yes
.net核心项目根文件夹中的sshd_config

service ssh start
dotnet MyApp.dll
#
# /etc/ssh/sshd_config
#

Port            2222
ListenAddress       0.0.0.0
LoginGraceTime      180
X11Forwarding       yes
Ciphers                 aes128-cbc,3des-cbc,aes256-cbc
MACs                    hmac-sha1,hmac-sha1-96
StrictModes         yes
SyslogFacility      DAEMON
PrintMotd       no
IgnoreRhosts        no
#deprecated option 
#RhostsAuthentication   no
RhostsRSAAuthentication yes
RSAAuthentication   no 
PasswordAuthentication  yes
PermitEmptyPasswords    no
PermitRootLogin     yes

下面是我在linux容器中使用ssh和asp.net核心应用程序的一个示例:

Dockerfile

.net核心项目根文件夹中的init.sh

service ssh start
dotnet MyApp.dll
#
# /etc/ssh/sshd_config
#

Port            2222
ListenAddress       0.0.0.0
LoginGraceTime      180
X11Forwarding       yes
Ciphers                 aes128-cbc,3des-cbc,aes256-cbc
MACs                    hmac-sha1,hmac-sha1-96
StrictModes         yes
SyslogFacility      DAEMON
PrintMotd       no
IgnoreRhosts        no
#deprecated option 
#RhostsAuthentication   no
RhostsRSAAuthentication yes
RSAAuthentication   no 
PasswordAuthentication  yes
PermitEmptyPasswords    no
PermitRootLogin     yes
.net核心项目根文件夹中的sshd_config

service ssh start
dotnet MyApp.dll
#
# /etc/ssh/sshd_config
#

Port            2222
ListenAddress       0.0.0.0
LoginGraceTime      180
X11Forwarding       yes
Ciphers                 aes128-cbc,3des-cbc,aes256-cbc
MACs                    hmac-sha1,hmac-sha1-96
StrictModes         yes
SyslogFacility      DAEMON
PrintMotd       no
IgnoreRhosts        no
#deprecated option 
#RhostsAuthentication   no
RhostsRSAAuthentication yes
RSAAuthentication   no 
PasswordAuthentication  yes
PermitEmptyPasswords    no
PermitRootLogin     yes

我发现@Sgedda的回复非常有用。我不折不扣地跟随他的例子,但我不断地得到这个错误:exec用户进程导致exec格式错误

除了实现他的示例之外,我还做了以下工作

补充/bin/bash作为init.sh文件的第一行。重要的是,它的前面和结尾都没有任何内容,并且它是文件中的第一行。服务ssh开始于第2行。 使用VS代码将init.sh和sshd_配置文件的编码更改为ISO 8859-15 使用VS代码将init.sh和sshd_配置文件的行尾更改为LF
我发现@Sgedda的回复非常有用。我不折不扣地跟随他的例子,但我不断地得到这个错误:exec用户进程导致exec格式错误

除了实现他的示例之外,我还做了以下工作

补充/bin/bash作为init.sh文件的第一行。重要的是,它的前面和结尾都没有任何内容,并且它是文件中的第一行。服务ssh开始于第2行。 使用VS代码将init.sh和sshd_配置文件的编码更改为ISO 8859-15 使用VS代码将init.sh和sshd_配置文件的行尾更改为LF
如果有人对@的答案有疑问,请尝试使用:

ENTRYPOINT ["bash", "init.sh"]

这对我很有效。

如果有人对@的答案有疑问,请尝试使用:

ENTRYPOINT ["bash", "init.sh"]

这对我很有效。

你肯定不知道。现在,这是不可能的。请参考此内容。您好@Walter MSFT,谢谢您的回复,希望您能和我的回答一样声明,这样我就可以将其标记为已接受。非常确定您现在不知道,这是不可能的。请参考此内容。您好@Walter MSFT,谢谢您的回复,非常感谢您的回复,我可以将其声明为已接受,这样我就可以将其标记为已接受。您可以对bash对容器本身不做任何操作,因此它的0用途您可以对bash对容器本身不做任何操作,因此它的0用途这里的SSH_PASSWD是什么?这是随机通行证还是登录凭证?这里的SSH\u PASSWD是什么?这是任何随机通行证还是登录信用证?我无法用这个和@augdog-answer来工作。应用程序服务无法运行init,sh>日志中的错误:OCI运行时创建失败:container\u linux.go:346:启动容器进程导致\exec:\\\init.sh\\\:在$PATH中找不到可执行文件\:unknown使用此和@augdog answer无法获得此操作。应用程序服务无法运行init,sh>日志中的错误:OCI运行时创建失败:容器\u linux。go:346:启动容器进程导致\exec:\\\init.sh\\\:在$PATH中找不到可执行文件\:未知