OpenSSH是SSH(Secure Shell)协议的免费开源实现,OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程的中的数据。您可以通过安装OpenSSH,借助远程调试的能力实现SSH远程登录以及SFTP、SCP上传下载文件的功能,进而方便您临时调试SAE的某个应用实例。

前提条件

如果您的应用配置了安全组,请确保22端口(SSH端口)允许开放。

步骤一:开启远程调试

  1. 登录SAE控制台
  2. 在左侧导航栏单击应用列表,在应用列表页面上方选择地域,单击具体应用名称。
  3. 在应用基本信息页面,单击实例部署信息。在实例部署信息页签的默认分组区域,单击目标实例操作列的Webshell
  4. 在命令框中执行passwd命令,为当前Root角色设置访问密码,作为SSH,SFTP远程登录密码。
    设置新密码
    说明 您也可以新建用户并为其设置密码。
  5. 在命令框中执行以下命令安装OpenSSH。
    说明 对于以Centos及Apline操作系统为基础镜像的应用,SAE提供bash脚本便于您快速安装openssh。如果您需要自定义OpenSSH相关配置或者因自身镜像原因导致执行脚本异常,请自行安装OpenSSH。

    各地域的安装命令如下所示。

    地域 安装命令
    华东1(杭州) wget http://edas-hz.oss-cn-hangzhou-internal.aliyuncs.com/sae_openssh.sh && chmod 777 sae_openssh.sh && ./sae_openssh.sh
    华东2(上海) wget http://edas-sh.oss-cn-shanghai-internal.aliyuncs.com/sae_openssh.sh && chmod 777 sae_openssh.sh && ./sae_openssh.sh
    华北2(北京) wget http://edas-bj.oss-cn-beijing-internal.aliyuncs.com/sae_openssh.sh && chmod 777 sae_openssh.sh && ./sae_openssh.sh
    华南1(深圳) wget http://edas-sz.oss-cn-shenzhen-internal.aliyuncs.com/sae_openssh.sh && chmod 777 sae_openssh.sh && ./sae_openssh.sh
    华北3(张家口) wget http://edas-zjk.oss-cn-zhangjiakou-internal.aliyuncs.com/sae_openssh.sh && chmod 777 sae_openssh.sh && ./sae_openssh.sh
    返回结果如下,说明安装成功。安装OpenSSH成功
  6. 开启实例远程调试。
    1. 在左侧导航栏单击远程调试(仅支持Java),在远程调试(java)页面,打开开启远程调试开关。
    2. 单击远程调试设置,在远程调试设置面板,设置调试信息,单击确定
      远程调试1

      参数说明如下:

      • 请选择公网SLB:您可以选择新建SLB实例或选择已有的SLB实例。
      • 调试端口:设置为22。
      • 远程调试指定实例:选择需要调试的目标实例。
    开启远程调试后,您可以在远程调试(java)页面,获取远程调试IP和端口。远程调试结果

步骤二:执行远程调试

远程调试开启成功后,您可以通过获取的远程调试IP和端口,在可以访问公网,且具有SSH Client的主机中完成实例的远程调试。

  • 远程调试:执行ssh root@ip命令,登录目标实例,完成远程调试。远程登录
  • 远程上传下载文件:执行sftp root@ip命令,登录目标实例,远程上传下载文件。远程下载上传文件
注意
  • 如果您在步骤4中新建了用户,您需要将命令中的root改成您新建的用户名。
  • 本方案仅作为临时调试。当您的应用重新进行部署时,或者执行了任何会导致实例重启的操作或者发生的现象,您都需要重新完成实施步骤的配置:配置登录密码,安装OpenSSH,修改远程调试的目标实例。
  • 当您修改远程调试的目标实例后再次登录时,需先执行ssh-keygen -R ip命令,删除原有证书,否则会出现WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED Host key verification failed.错误。