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

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

问题描述

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

  • 在浏览器中打开 SSH 会话

 

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

 

问题原因

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

查看错误信息截图:

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

 

替换方案

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

以下部分为在使用远程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> &

 

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

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

 

 

 

参考资料

以交互方式登录: 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

相关文章
|
5天前
【Azure Logic App】使用Event Hub 连接器配置 Active Directory OAuth 认证无法成功连接到中国区Event Hub的解决之法
An exception occurred while retrieving properties for Event Hub: logicapp. Error Message: 'ClientSecretCredential authentication failed: AADSTS90002: Tenant 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' not found. Check to make sure you have the correct tenant ID and are signing into the correct cloud. Che
|
11天前
|
安全
【Azure App Service】App service无法使用的情况分析
App Service集成子网后,如果子网网段中的剩余IP地址非常少的情况下,会在App Service实例升级时( 先加入新实例,然后在移除老实例 )。新加入的实例不能被分配到正确的内网IP地址,无法成功的访问内网资源。 解决方法就是为App Service增加子网地址, 最少需要/26 子网网段地址。
|
20天前
|
开发框架 .NET Windows
【App Service】在App Service中配置Virtual applications and directories,访问目录中的静态文件报错404
【App Service】在App Service中配置Virtual applications and directories,访问目录中的静态文件报错404
|
20天前
|
C++
【Azure Logic App】使用Event Hub 连接器配置 Active Directory OAuth 认证无法成功连接到中国区Event Hub
【Azure Logic App】使用Event Hub 连接器配置 Active Directory OAuth 认证无法成功连接到中国区Event Hub
|
20天前
【Azure Logic App】在逻辑应用中开启或关闭一个工作流是否会对其它工作流产生影响呢?
【Azure Logic App】在逻辑应用中开启或关闭一个工作流是否会对其它工作流产生影响呢?
|
20天前
|
安全 前端开发 网络安全
【Azure App Service】访问App Service应用报错 SSL: WRONG_VERSION_NUMBER
【Azure App Service】访问App Service应用报错 SSL: WRONG_VERSION_NUMBER
|
20天前
|
开发框架 JavaScript 前端开发
【App Service】解决 .NET Profiler 报告打开后无数据加载的问题
【App Service】解决 .NET Profiler 报告打开后无数据加载的问题
|
分布式计算 Hadoop 网络安全
|
安全 Shell Linux
为什么不能在SSH(Secure Shell)登录中设置ulimit值?
关闭这些选项会带来一些安全风险。但那也只是在SSH守护进程的漏洞被发现并且被利用的情况下才会出现。关闭之后就意味着sshd不会创建非特权子进程去处理进站连接。如果漏洞存在而且被利用,则有人可以控制sshd进程,而这个进程是以root身份运行的。
1770 0
|
网络安全 数据安全/隐私保护
SSH免登录设置
基础篇 执行: ssh-keygen -t rsa rocky@tiger:~$ ssh-keygen -t rsa Generating public/private rsa key pair.
686 0