0
点赞
收藏
分享

微信扫一扫

【应用服务 App Service】解决无法从Azure门户SSH登录问题

问题描述

中国区的Azure App Service(应用服务)已经支持创建Docker并选择Linux环境。在使用中,我们可以继续通过kudu站点的方式登录查看站点的一些日志及部署文件。它的登录方式与App Service Windows方式一样(通过门户目录的Advance Tool登录,或在URL中添加.SCM登录)。如想要跟多的操作及Linux SSH方式,在微软的官方站点中,推荐有两种登录方式:

  • 在浏览器中打开 SSH 会话


  • 从远程 shell 打开 SSH 会话(​​https://docs.azure.cn/zh-cn/app-service/configure-linux-open-ssh-session#open-ssh-session-from-remote-shell​​)

 

对于第一种,从门户左侧目录“SSH”登录到SSH窗口时,则一直出现CREDENTIALS提示,始终无法成功登录。错误截图如下:

【应用服务 App Service】解决无法从Azure门户SSH登录问题_linux

 

问题原因

在浏览器中通过开发者工具(F12)查看到错误发生在加载Jquery 1.11.0文件,Azure App Service使用的JS地址为 https://code.jquery.com/jquery-1.11.0.min.js,经验证,该地址无法在国内网络正常访问。

查看错误信息截图:

【应用服务 App Service】解决无法从Azure门户SSH登录问题_App Service_02

国内网络无法访问:(https://code.jquery.com/jquery-1.11.0.min.js)

【应用服务 App Service】解决无法从Azure门户SSH登录问题_linux_03

 

替换方案

在了解到根本原因后,替代方案有两种。

  • 一是通过VPN,如能正常访问​​https://code.jquery.com/jquery-1.11.0.min.js​​则可以解决此问题。
  • 二是使用远程SSL的方式登录。查看详细的步骤见文档(​​https://docs.azure.cn/zh-cn/app-service/configure-linux-open-ssh-session#open-ssh-session-from-remote-shel​​l)。

以下部分为在使用远程SSL的方式时,在Powershell中执行的命令及截图:

第一步:使用Powershell登录到中国区并选择订阅

az cloud set --name AzureChinaCloud
az login
az account set --subscription 'select subscription'

  • 第一行命令设置登录的环境。如不设定,默认为Global Azure
  • 第二行命令通过浏览器打开登录页面。登录成功后,会列出所有的订阅号。
  • 第三行命令设置目标订阅

 

第二步:使用 az webapp create-remote-connection 命令打开到应用的远程连接

完整命令为:

az webapp create-remote-connection --subscription <subscription-id> --resource-group <resource-group-name> -n <app-name> &

【应用服务 App Service】解决无法从Azure门户SSH登录问题_App Service_04

 

第三步:开启新的Powershell窗口,建立SSH连接

通过第二步中的端口60812,建立SSH连接,命令为:ssh root@127.0.0.1 -p 10812

 

 

【应用服务 App Service】解决无法从Azure门户SSH登录问题_docker_05

 

 

参考资料

以交互方式登录: ​​https://docs.azure.cn/zh-cn/cli/authenticate-azure-cli?view=azure-cli-latest​​在 Azure 应用服务中打开 Linux 容器的 SSH 会话: ​​https://docs.azure.cn/zh-cn/app-service/configure-linux-open-ssh-session#open-ssh-session-in-browser​​Nginx的Dockerfile内容:​​https://hub.docker.com/layers/nginx/library/nginx/latest/images/sha256-d73056bfea356376bf2464e544cc5508d8670f51b56b17a76638ee5433fb8e9f?context=explore ​​

开启SSH服务,在自定义镜像时添加ssh server的部分: ​​https://docs.microsoft.com/en-us/azure/app-service/configure-custom-container?pivots=container-linux#enable-ssh ​​

参考微软官方给出的镜像进行构建自定义镜像: ​​https://github.com/Azure-App-Service/tomcat/blob/dev/8.5-jre8/Dockerfile ​​

 

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!



举报

相关推荐

0 条评论