VNC方式(客户端)
通过公网连接云手机,此方式需要本地设备已安装VNC客户端。VNC方式连接(公网)包括两个步骤:建立SSH隧道;通过VNC客户端连接云手机。
本地设备的操作系统不限,Windows、Linux、Android OS或Mac OS均可,本节操作以Windows系统为例。
约束与限制
此方式仅支持rx1.cp.c60.d32.qemu规格的云手机。
前提条件
云手机实例状态必须为“运行中”。
准备工作
建立SSH隧道前,确保用来连接云手机的本地设备已安装SSH服务(请参见如何确认本地设备已安装SSH服务?)。您还需要登录云手机管理控制台,完成如下准备工作:
- 获取云手机所在区域的项目ID。方法如下:
- 选择一个本地设备中任意未被占用的端口,用来和云手机建立连接。
如下图,6667端口已被其他程序占用(显示LISTENING),而1234端口空闲。
- 获取云手机VNC应用监听端口。方法如下:
- 获取服务器的公网IP地址。方法如下:
在云手机控制台,选择左侧导航栏的“服务器管理”,在服务器所在行,获取“IP”参数的取值。
如果有多台服务器,请根据云手机名称来判断云手机所属服务器是哪一台。例如,云手机名称为cph-test-1-00001,那么对应的服务器名称为cph-test-1。
- 获取服务器的密钥对对应的私钥文件在本地的保存路径,即购买云手机实例步骤6中创建密钥对时保存在本地的私钥文件路径,例如:C:\Users\Administrator\Downloads\KeyPair-a49c.pem。路径不区分大小写,推荐您使用全英文路径。
步骤1:建立SSH隧道
- 在本地设备打开命令提示符窗口,以Windows 10操作系统为例,方法如下:
- 执行以下命令,建立SSH隧道。
ssh -L 本地空闲端口:localhost:云手机监听端口 SSH隧道用户名@公网IP地址 -i 私钥文件路径 -Nf
各参数说明及获取方式如下所述:
- 本地空闲端口:用户自由选择的本地设备中任意未被占用的端口,通过该端口映射云手机应用端口。获取方式见2。
- 云手机监听端口:云手机VNC应用监听端口。获取方式见3。
- SSH隧道用户名:云手机所在区域的项目ID。获取方式见1。
- 公网IP地址:服务器的公网IP。获取方式见4。
- 私钥文件路径:服务器的密钥对对应的私钥文件在本地的保存路径。获取方式见5。
假设本地空闲端口为1234,云手机监听端口为7399,SSH隧道用户名为05e1aexxx,公网IP地址为xxx.xxx.xxx.xxx,私钥文件路径为C:\Users\Administrator\Downloads\KeyPair-a49c.pem,命令如下:
ssh -L 1234:localhost:7399 05e1aexxx@xxx.xxx.xxx.xxx -i C:\Users\Administrator\Downloads\KeyPair-a49c.pem -Nf
该命令表示从本地PC建立一个到云手机的SSH隧道,使用本地端口转发模式,监听本地PC的1234端口;访问本地PC的1234端口时,通信数据将会被转发到云手机的7399端口。
执行命令后,SSH程序会在后台执行隧道的转发,执行后无报错或者报“Authorized users only. All activities may be monitored and reported.”即为SSH隧道建立成功。
步骤2:通过VNC客户端连接云手机
使用VNC客户端连接云手机,如VNC Viewer。
根据VNC客户端使用方法,输入相关IP和端口号,即:127.0.0.1:本地空闲端口。
其中,本地空闲端口为2中所选择的本地空闲端口。
