如果希望在本地客户端计算机和远程计算机上运行的应用程序之间创建加密连接,可以使用SSH隧道。有些应用程序在传输信息时不加加密。如果要在internet上通过加密方式访问这类应用,可以使用SSH隧道,也称为SSH端口转发。这样做可以在本地客户机和远程应用程序(如容器会话)之间提供一个加密连接。如果远程主机或本地机器受到防火墙的保护,则必须使用SSH隧道。
这些说明向您展示如何将客户机机器上的端口转发到远程机器上的端口。例如,在端口之间创建端口转发机制5903
在您的客户机和端口上5902
在远程机器上,所有到localhost: 5903
自动转发给应:5902
,在那里本地主机
和应
分别是本地和远程机器的名称或IP地址。因此,如果您设置端口5902
在允许您访问容器会话的远程机器上,那么您可以直接从localhost: 5903
.在建立SSH隧道之后,客户机端口和容器会话之间的所有通信都是加密的。
如果您正在使用PuTTY连接到远程计算机,请使用菜单选项“更改设置”添加一个新的转发端口,右键单击PuTTY会话的标题栏即可访问该选项。在腻子配置
对话框,在类别
,选择连接
>SSH
>隧道
.
要通过VNC连接,请设置一条到集装箱端口的隧道5901
VNC端口(默认)。
在Source端口字段中,在客户机上输入一个空闲端口5900
例如,5903
.
在“Destination”字段中输入与容器端口连接的相关主机端口5901
当你执行码头工人运行
例如,命令localhost: 5902
.注意必须使用本地主机
而不是主机名。这是因为Destination字段进行解释本地主机
作为目标计算机的名称。
要通过网络浏览器连接,需要建立一条到集装箱港口的隧道6080
(默认noVNC端口)。
例如,在Source端口字段中,输入客户机机器上的空闲端口6082
.
在“Destination”字段中输入与容器端口连接的相关主机端口6080
当你执行码头工人运行
例如,命令localhost: 6081
.注意必须使用本地主机
而不是主机实例的名称。这是因为Destination字段进行解释本地主机
作为目标计算机的名称。
如果在客户端机器上使用多个容器或运行VNC服务器,则必须增加客户端机器上的源端口,直到找到空闲端口为止,例如,5905
或6085
.
如果您正在使用命令行界面来SSH隧道到容器端口,请使用以下形式的命令:
ssh -L clientport:hostport ubuntu@MyRemoteMachine
clientport
例如,客户端机器上是否有空闲端口5903
或6082
.hostport
执行?操作时连接的主机端口是否为集装箱端口码头工人运行
命令,例如localhost: 5902
或localhost: 6081
.注意必须使用本地主机
而不是主机实例的名称。这是因为hostport
参数解释本地主机
作为主机的名称。
例如,使用如下命令:
ssh -L 5903:localhost:5902 ubuntu@MyCompanyDGX1
例如,如果您在客户机上运行VNC服务器,则必须增加客户机端口,直到找到空闲端口为止5905
或6085
.
要连接到容器桌面,您必须确保启动了VNC服务器,并在执行码头工人运行
,例如:
docker运行-it——rm -p 5902:5901 -p 6081:6080——shm-size=512M mathworks/matlab:r2021a -vnc
vnc
启动VNC服务器和标志- p
映射Docker主机端口5902
和6081
到集装箱港口5901
和6080
,分别。有关运行MATLAB的更多信息®容器和使用这些标志,请参阅基于Docker Hub的MATLAB容器.
设置SSH隧道后,要使用本地机器上的web浏览器进行连接,请使用URL:
http://localhost:6082
注意必须使用本地主机
而不是主机实例的名称。
例如,如果在创建隧道时增加了客户端端口,请使用适当的客户端端口号6085
.
设置SSH隧道后,要连接VNC,使用VNC客户端连接到客户端相应的显示端口,例如:
localhost: 3
注意必须使用本地主机
而不是主机实例的名称。
如果在创建隧道时增加了客户端端口,请使用适当的客户端显示端口号,例如:5
为端口5905
.