VNC和SSH访问门户#

VNC和SSH访问门户是利用AIP REST API服务认证用户,协助用户在计算主机上提交和管理VNC桌面作业或者SSH作业的web门户。

安装#

警告

安装由系统管理员用root账号执行。VNC和SSH访问门户不能与AIP门户在同一台主机上。

安装VNC和SSH访问门户自动在同一台主机上安装AIP的REST API服务:aiprestd。

  1. 选择一台AIP的登录计算主机或登录主机。

  2. 安装nginx和httpd(或apache2)。

    在EL上:

    yum install -y httpd nginx
    

    在Ubuntu上:

    apt install apache2 nginx
    
  3. 在AIP包解压的目录中,运行vncportal-install脚本:

    ./vncportal-install
    
  4. 在AIP集群中有一个名为vnc的队列,这个队列中的主机是可以运行VNC或ssh作业的主机。如果是VNC主机,确保主机在做API配置时使用 脚本:host-setup --gui

用户VNC客户端#

VNC门户提供浏览器方式访问VNC,用户也可以选择使用VNC客户端连接,客户端的图形效果略好。

VNC客户端可以用RealVNC。AIP的安装包里带了RealVNC Windows和Mac的客户端,用户 可以点击“下载VNC客户端”,展开压缩包,安装RealVNC客户端。

登录#

用浏览器连接到VNC和SSH访问主机 https://portal_ip

以操作系统中的用户和密码登录。

../_images/vnc1.png

启动VNC桌面#

点击蓝色的“新建VNC桌面”,选填桌面名称,选择“提交”键启动一个桌面。

../_images/vnc2.png

如果系统中有资源可以运行VNC桌面,几秒后,“客户端”和“浏览器访问”两个按钮就可以选择 使用。

../_images/vnc3.png

点击“浏览器访问”在浏览器中弹出一个标签页连接到VNC桌面,或者点击“客户端”打开VNC客户端。 VNC客户端启动后会提示密码,这个密码是随机生成的,点击“客户端”时浏览器已把密码复制到了 系统的粘贴板上,在VNC客户端中只需按Ctrl-V就可把密码粘贴在密码提示框里,点击OK键就可以连接。

../_images/vnc4.png ../_images/vnc5.png

关闭桌面可以在VNC桌面里面选择logout,或者在门户里面按红色“销毁”按钮。

启动ssh访问#

点击绿色的“新建ssh访问”,选填描述名称,选择“提交”键启动一个ssh访问。

../_images/vnc6.png

如果系统中有资源可以运行ssh访问,几秒后,“下载ssh私钥”和“ssh连接命令”两个按钮就可以 使用。

../_images/vnc7.png

系统为每个ssh访问生成一个私钥。只有使用这个私钥才可以访问。

备注

门户中生成的ssh访问不能使用用户密码访问。

  1. 点击“下载ssh私钥”下载文件key.pem。下载后的密钥保存在一个目录中。

  2. 点击“ssh连接命令”,可以选择“拷贝”按钮拷贝命令行。

    ../_images/vnc8.png
  3. 打开Windows的cmd或powershell终端。把当前目录切换到下载key.pem的目录中,粘贴上一个步骤拷贝的命令,连接ssh

    ssh -i key.pem -p 16332 cadmin@192.168.10.10
    

VNC桌面和ssh会话的资源使用控制#

VNC桌面和ssh会话中用户会运行很多命令,推荐在队列中配置cgroup参数来限制其资源使用,这样主机上的多个 卓面和会话不会把主机跑死。

cb.yaml 队列中设置cgroup参数,cgroup只控制本队列中的作业。例子:

queues:
- name: vnc               # VNC和SSH队列
  priority: 3
  cgroup: cpu mem         # 限制每个桌面和会话的CPU和内存使用
  memlimit: percore       # 每个作业内存上限是主机总内存除以CPU核数