none
无法ssh连接linux中的webapp

    问题

  • 前提条件:

    1、创建linux中的webapp服务

    2、使用Azure CLI连接后,az使用正常

    3、按照官方文档中的ssh连接方案已经可以连上去操作

    4、从azure后台应用中,网页ssh连接也可行

    5、nginx网页能正常访问,ftp正常

    问题:

    1、第一次ssh连接退出后,无法再次连接,上层主机拒绝访问,报错:

    # az webapp remote-connection create --resource-group "yyytest" -n "yyytest" -p 2222

    "

    Port 2222 is open
    WARNING - Remote debugging may not be setup properly. Reponse content: FAILURE:2222:Connection refused 172.20.0.3:2222
    SSH is available { username: root, password: Docker! }
    Start your favorite client and connect to port 2222
    Websocket tracing disabled, use --verbose flag to enable
    Successfully connected to local server..
    Traceback (most recent call last):
      File "/root/.azure/cliextensions/webapp/azext_webapp/tunnel.py", line 174, in listen_to_client
        ws_socket.send_binary(responseData)
      File "/root/.azure/cliextensions/webapp/azext_webapp/tunnel.py", line 36, in send_binary
        super(TunnelWebSocket, self).send_binary(data)
      File "/opt/az/lib/python3.6/site-packages/websocket/_core.py", line 271, in send_binary
        return self.send(payload, ABNF.OPCODE_BINARY)
      File "/opt/az/lib/python3.6/site-packages/websocket/_core.py", line 240, in send
        return self.send_frame(frame)
      File "/opt/az/lib/python3.6/site-packages/websocket/_core.py", line 265, in send_frame
        l = self._send(data)
      File "/opt/az/lib/python3.6/site-packages/websocket/_core.py", line 430, in _send
        return send(self.sock, data)
      File "/opt/az/lib/python3.6/site-packages/websocket/_socket.py", line 117, in send
        return sock.send(data)
      File "/opt/az/lib/python3.6/ssl.py", line 935, in send
        return self._sslobj.write(data)
      File "/opt/az/lib/python3.6/ssl.py", line 636, in write
        return self._sslobj.write(data)
    ConnectionResetError: [Errno 104] Connection reset by peer
    Traceback (most recent call last):
      File "/root/.azure/cliextensions/webapp/azext_webapp/tunnel.py", line 145, in listen_to_web_socket
        data = ws_socket.recv()
      File "/root/.azure/cliextensions/webapp/azext_webapp/tunnel.py", line 31, in recv
        data = super(TunnelWebSocket, self).recv()
      File "/opt/az/lib/python3.6/site-packages/websocket/_core.py", line 300, in recv
        opcode, data = self.recv_data()
      File "/opt/az/lib/python3.6/site-packages/websocket/_core.py", line 317, in recv_data
        opcode, frame = self.recv_data_frame(control_frame)
      File "/opt/az/lib/python3.6/site-packages/websocket/_core.py", line 344, in recv_data_frame
        self.send_close()
      File "/opt/az/lib/python3.6/site-packages/websocket/_core.py", line 377, in send_close
        self.send(struct.pack('!H', status) + reason, ABNF.OPCODE_CLOSE)
      File "/opt/az/lib/python3.6/site-packages/websocket/_core.py", line 240, in send
        return self.send_frame(frame)
      File "/opt/az/lib/python3.6/site-packages/websocket/_core.py", line 265, in send_frame
        l = self._send(data)
      File "/opt/az/lib/python3.6/site-packages/websocket/_core.py", line 430, in _send
        return send(self.sock, data)
      File "/opt/az/lib/python3.6/site-packages/websocket/_socket.py", line 117, in send
        return sock.send(data)
      File "/opt/az/lib/python3.6/ssl.py", line 935, in send
        return self._sslobj.write(data)
      File "/opt/az/lib/python3.6/ssl.py", line 636, in write
        return self._sslobj.write(data)
    BrokenPipeError: [Errno 32] Broken pipe
    Stopped local server.."

    2、网页ssh也无法访问,报错"Error: connect ECONNREFUSED 172.20.0.3:2222"

    2018年6月12日 11:09

答案

  • Hi 

    我在本地通过 Stop sshd Service 可以复现出您的问题,但是通常情况下 sshd 服务可以通过重新启动 Web Apps 来进行修复。

    建议您在 新的 App Service Plan/Location 下再创建一个 Web Apps 来测试该问题是否仍然存在,如果得到解决,那很有可能是您当前的 Server 出现问题了,需要联系微软的技术支持获取帮助。


    MSDN 社区技术支持
    如果该回复解决了您的问题,请及时点击“标记为答案”选项,如未解决请选择“取消标记为答案”,这会有利于其他人员来阅读您的帖子。如果您对MSDN 技术支持有任何的建议或意见,请随时联系 MSDNFSF@microsoft.com

    2018年6月14日 6:57
    版主

全部回复

  • Hi,

    SSH 无法连接时,您的 Web 应用还可以正常访问吗?

    您可以尝试将 Web 应用重新启动,然后观察该问题是否依然存在。


    MSDN 社区技术支持
    如果该回复解决了您的问题,请及时点击“标记为答案”选项,如未解决请选择“取消标记为答案”,这会有利于其他人员来阅读您的帖子。如果您对MSDN 技术支持有任何的建议或意见,请随时联系 MSDNFSF@microsoft.com

    2018年6月13日 3:43
    版主
  • 你好,

    web应用nginx可以正常使用,重启没有起作用。

    重新创建的web应用也无法再使用ssh连接。

    web应用应该是docker安装的,怀疑上层主机出问题了。

    有这个可能吗?

    2018年6月13日 4:18
  • Hi 

    我在本地通过 Stop sshd Service 可以复现出您的问题,但是通常情况下 sshd 服务可以通过重新启动 Web Apps 来进行修复。

    建议您在 新的 App Service Plan/Location 下再创建一个 Web Apps 来测试该问题是否仍然存在,如果得到解决,那很有可能是您当前的 Server 出现问题了,需要联系微软的技术支持获取帮助。


    MSDN 社区技术支持
    如果该回复解决了您的问题,请及时点击“标记为答案”选项,如未解决请选择“取消标记为答案”,这会有利于其他人员来阅读您的帖子。如果您对MSDN 技术支持有任何的建议或意见,请随时联系 MSDNFSF@microsoft.com

    2018年6月14日 6:57
    版主