【BAE3.0使用】通过端口服务实现SSH登陆

很多开发者希望BAE能推出SSH登录功能,从而能方便的在进行调试和管理;

现在好消息来了,通过BAE3.0新推出的端口服务,就可以实现SSH远程登录了。

一、 特别声明

BAE3.0支持SSH登录,其根本目的是帮助开发者更好的开发和调试;ssh登录同时也带来了安全隐患问题;目前基于轻量虚拟机技术的安全问题并没有彻底得到解决。

是否开放ssh登陆也是我们很纠结的问题;但是本着对开发者的诚意,我们仍然决定在安全问题没有完全得到解决的情况下,为开发者提供此项服务。我们希望开发者不要利用我们的诚意来进行恶意攻击和破坏;如果您发现了我们系统的漏洞或安全隐患,请您及时通过我们的技术支持群(百度HI群:1418180)进行反馈。

 

二、 基础知识

  • 登录到哪里: 在 BAE3.0核心概念 和 走近虚拟机这两篇文章中,我们了解到了“执行单元”和“虚拟机”两个概念。对开发者来说,应用代码运行在“执行单元”里面; 而每个“执行单元”实际对应一个“虚拟机”。 我们登录到一个“执行单元”,其实就是登录到“执行单元”背后的“虚拟机”。
  • 登录方式: 我们只支持SSH公钥方式登陆,而不支持用户名/密码的方式,这可以大大提高安全性,也是业界主流的做法。

 

三、 步骤

1、 创建公钥

如果你使用 windows 作为开发平台,那么目前常用的SSH客户端包括 secureCRT和XShell; 如果你使用 Linux 作为开发平台,那么通常使用命令行终端就可以了;下面分别介绍这三种方法下如何创建公钥:

  • SecureCRT

没有特殊说明的话,点击“下一步”就可以了。

1).  打开SecureCRT, 选择“工具”–>“创建公钥”

image005.png

2). 选择 RSA方式

image007.png

3).  选择 “OpenSSH密钥格式”

image009.png

注意“公钥文件名”下这个公钥文件Identity.pub所在的目录位置。

创建完毕,我们打开 Identity.pub 这个文件,将其中的内容复制下来,这就是我们需要的公钥。

  • XShell

没有特殊说明的话,点击“下一步”就可以了。

1).  打开 XShell, 选择“Tools” –> “User Key Generation Wizard”

2).  选择“RSA” 类型

3).  选择“SSH2 – OpenSSH” 格式,下面文本框内的字符串就是我们需要的公钥。将其复制下来。点击“Finish”

4).  点“Close”, 将公钥保存到磁盘上。

  • Linux命令行终端

待补充

2、 开启SSHD服务

有了公钥以后,就可以通过 app.conf 来开启 SSHD 服务了
修改应用根目录下的 app.conf 文件,加入如下信息:

sshd:
  service : on
  public_keys :
    - "public key"
    - "public key 2"

用你在第一步获取的公钥替换 “public key” 部分,注意要保留双引号;
如果有多个公钥,可以追加到 “public key 2″。

修改完 app.conf 后,提交代码,并重新发布。

3、 开启端口映射

参考端口服务来开启端口服务,并将其绑定到你的应用的 22 端口。

你将会获取一个公网IP和端口,它对应着你的执行单元的SSH服务。

注意:由于端口是非常宝贵的资源,所以目前每个端口都需要向我们提出申请才能获得。

 

4、 使用SSH登录

使用第三步获取的公网IP和端口(例如 180.149.144.13, 端口是 30035),登录你的执行单元;

点击XShell的“File”–> “New” 来创建一个新的SSH会话;在弹出的窗口中,填写 Name、 Host、Port

点击”Authentication”, “Method” 选择 “Public Key”, User Name输入 “bae”

创建好SSH会话后,就可以登录了;下图是成功登陆执行单元的截图。

 

5、 使用 SFTP 来上传下载文件

有了SSH登陆功能后,我们还可以使用SFTP来实现文件的上传下载功能

以XShell为例,当我们登录到执行单元后,再点击工具条上的”XFTP”按钮,就可以打开SFTP窗口了

下图是SFTP命令行窗口

关于SFTP的具体使用,就需要你自己来摸索了。

 

此条目发表在 未分类 分类目录。将固定链接加入收藏夹。

发表评论