如何使用新的" Web App On Linux" ssh进入容器?服务?
它目前处于预览模式,我不确定它是否可能还是我已经监督了设置。
答案 0 :(得分:4)
以下是我在Linux容器中与ssh以及asp.net核心应用一起工作的示例:
Dockerfile
#base image
FROM mcr.microsoft.com/dotnet/core/aspnet:3.0-buster-slim AS base
#ssh
ENV SSH_PASSWD "root: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 "$SSH_PASSWD" | chpasswd
COPY MyApp/sshd_config /etc/ssh/
COPY MyApp/init.sh /usr/local/bin/
WORKDIR /app
EXPOSE 80 443 2222
FROM mcr.microsoft.com/dotnet/core/sdk:3.0-buster AS build
WORKDIR /src
COPY ["MyApp/MyApp.csproj", "MyApp/"]
RUN dotnet restore "MyApp/MyApp.csproj"
COPY . .
WORKDIR "/src/MyApp"
RUN dotnet build "MyApp.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "MyApp.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["bash","init.sh"]
.net核心项目的根文件夹中的init.sh
service ssh start
dotnet MyApp.dll
.p核心项目的根文件夹中的sshd_config
#
# /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
答案 1 :(得分:3)
答案 2 :(得分:2)
答案 3 :(得分:1)
我不相信你可以。但是根据你想要做的事情(例如查看日志文件),你可以使用Kudu的bash(通过高级工具>调试控制台> Bash)
也就是说,Linux上的Web App正在预览中 - 所以将来可能会有SSH!
答案 4 :(得分:1)
我发现@Sgedda的回复非常有帮助。我按照他的榜样来信,但我不断收到此错误exec user process caused "exec format error"
除了实现他的示例外,我还执行了以下操作
答案 5 :(得分:0)
根据今天的文档,Connect to Web App for Containers using截至今天(2019年4月1日)。这是一种骇客,但可以解决问题。
不是愚人节的玩笑。