本帖最后由 hyj 于 2014-2-21 22:56 编辑
而这里的远程连接,只不过换成了百度云平台中的虚拟机。所以这不是很神秘的。
这里先说一些说明以便让更多的能够看明白:安全外壳协议(SSH)是一种在不安全网络上提供安全远程登录及其它安全网络服务的协议。Secure Shell,又可记为S S H,最初是U N I X系统上的一个程序,后来又迅速扩展到其他操作平台。S S H是一个好的应用程序,在正确使用时,它可以弥补网络中的漏洞。
同时这种远程连接不是图形界面,而是采用命令行,远程操作。所以这是让我们没有用过S S H 同学难以理解的地方。
有点类似使用windows cmd命令,但是如果远程,操作的不是本台电脑的文件,而是远程服务器的。
此篇可以带着下面问题:
1.新手可以先明白整体的步骤?
2.已熟悉的同学,可以与Linux进行对比?
很多开发者希望BAE能推出SSH登录功能,从而能方便的在进行调试和管理;
现在好消息来了,通过BAE3.0新推出的端口服务,就可以实现SSH远程登录了。
一、 特别声明
BAE3.0支持SSH登录,其根本目的是帮助开发者更好的开发和调试;ssh登录同时也带来了安全隐患问题;目前基于轻量虚拟机技术的安全问题并没有彻底得到解决。
是否开放ssh登陆也是我们很纠结的问题;但是本着对开发者的诚意,我们仍然决定在安全问题没有完全得到解决的情况下,为开发者提供此项服务。我们希望开发者不要利用我们的诚意来进行恶意攻击和破坏;如果您发现了我们系统的漏洞或安全隐患,请您及时通过我们的技术支持群进行反馈。
二、 基础知识
登录到哪里: 在 BAE3.0核心概念 和 走近虚拟机 这两篇文章中,我们了解到了“执行单元”和“虚拟机”两个概念。对开发者来说,应用代码运行在“执行单元”里面; 而每个“执行单元”实际对应一个“虚拟机”。 我们登录到一个“执行单元”,其实就是登录到“执行单元”背后的“虚拟机”。 登录方式: 我们只支持SSH公钥方式登陆,而不支持用户名/密码的方式,这可以大大提高安全性,也是业界主流的做法。
三、 步骤 1、 创建公钥
如果你使用 windows 作为开发平台,那么目前常用的SSH客户端包括 secureCRT和XShell; 如果你使用 Linux 作为开发平台,那么通常使用命令行终端就可以了;下面分别介绍这三种方法下如何创建公钥:
没有特殊说明的话,点击“下一步”就可以了。
1). 打开SecureCRT, 选择“工具”–>“创建公钥”
2). 选择 RSA方式
3). 选择 “OpenSSH密钥格式”
注意“公钥文件名”下这个公钥文件Identity.pub所在的目录位置。
创建完毕,我们打开 Identity.pub 这个文件,将其中的内容复制下来,这就是我们需要的公钥。
没有特殊说明的话,点击“下一步”就可以了。
1). 打开 XShell, 选择“Tools” –> “User Key Generation Wizard”
2). 选择“RSA” 类型
3). 选择“SSH2 – OpenSSH” 格式,下面文本框内的字符串就是我们需要的公钥 。将其复制下来。点击“Finish”
4). 点“Close”, 将公钥保存到磁盘上。
待补充
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命令行窗口
来自群组: 程序员生活区