主要内容

创建到远程应用程序和容器的加密连接

如果希望在本地客户端计算机和远程计算机上运行的应用程序之间创建加密连接,可以使用SSH隧道。有些应用程序在传输信息时不加加密。如果要在internet上通过加密方式访问这类应用,可以使用SSH隧道,也称为SSH端口转发。这样做可以在本地客户机和远程应用程序(如容器会话)之间提供一个加密连接。如果远程主机或本地机器受到防火墙的保护,则必须使用SSH隧道。

SSH隧道

这些说明向您展示如何将客户机机器上的端口转发到远程机器上的端口。例如,在端口之间创建端口转发机制5903在您的客户机和端口上5902在远程机器上,所有到localhost: 5903自动转发给应:5902,在那里本地主机分别是本地和远程机器的名称或IP地址。因此,如果您设置端口5902在允许您访问容器会话的远程机器上,那么您可以直接从localhost: 5903.在建立SSH隧道之后,客户机端口和容器会话之间的所有通信都是加密的。

使用PuTTY在窗户客户端

如果您正在使用PuTTY连接到远程计算机,请使用菜单选项“更改设置”添加一个新的转发端口,右键单击PuTTY会话的标题栏即可访问该选项。在腻子配置对话框,在类别,选择连接>SSH>隧道

要通过VNC连接,请设置一条到集装箱端口的隧道5901VNC端口(默认)。

  • 在Source端口字段中,在客户机上输入一个空闲端口5900例如,5903

  • 在“Destination”字段中输入与容器端口连接的相关主机端口5901当你执行码头工人运行例如,命令localhost: 5902.注意必须使用本地主机而不是主机名。这是因为Destination字段进行解释本地主机作为目标计算机的名称。

要通过网络浏览器连接,需要建立一条到集装箱港口的隧道6080(默认noVNC端口)。

  • 例如,在Source端口字段中,输入客户机机器上的空闲端口6082

  • 在“Destination”字段中输入与容器端口连接的相关主机端口6080当你执行码头工人运行例如,命令localhost: 6081.注意必须使用本地主机而不是主机实例的名称。这是因为Destination字段进行解释本地主机作为目标计算机的名称。

如果在客户端机器上使用多个容器或运行VNC服务器,则必须增加客户端机器上的源端口,直到找到空闲端口为止,例如,59056085

使用命令行界面

如果您正在使用命令行界面来SSH隧道到容器端口,请使用以下形式的命令:

ssh -L clientport:hostport ubuntu@MyRemoteMachine

clientport例如,客户端机器上是否有空闲端口59036082hostport执行?操作时连接的主机端口是否为集装箱端口码头工人运行命令,例如localhost: 5902localhost: 6081.注意必须使用本地主机而不是主机实例的名称。这是因为hostport参数解释本地主机作为主机的名称。

例如,使用如下命令:

ssh -L 5903:localhost:5902 ubuntu@MyCompanyDGX1

例如,如果您在客户机上运行VNC服务器,则必须增加客户机端口,直到找到空闲端口为止59056085

连接到容器桌面

要连接到容器桌面,您必须确保启动了VNC服务器,并在执行码头工人运行,例如:

docker运行-it——rm -p 5902:5901 -p 6081:6080——shm-size=512M mathworks/matlab:r2021a -vnc
的国旗vnc启动VNC服务器和标志- p映射Docker主机端口59026081到集装箱港口59016080,分别。有关运行MATLAB的更多信息®容器和使用这些标志,请参阅基于Docker Hub的MATLAB容器

设置SSH隧道后,要使用本地机器上的web浏览器进行连接,请使用URL:

http://localhost:6082

注意必须使用本地主机而不是主机实例的名称。

例如,如果在创建隧道时增加了客户端端口,请使用适当的客户端端口号6085

设置SSH隧道后,要连接VNC,使用VNC客户端连接到客户端相应的显示端口,例如:

localhost: 3

注意必须使用本地主机而不是主机实例的名称。

如果在创建隧道时增加了客户端端口,请使用适当的客户端显示端口号,例如:5为端口5905

相关的话题