Answers:
一个VPN(虚拟专用网络)创建你的机器上一个新的网络层连接。通常,出于隐私/加密原因而执行此操作。该计算机上的所有网络流量现在将使用VPN而不是原始/纯网络连接。
SSH(安全外壳)只是一种远程连接到另一台计算机上的终端/命令行的方法。因此,如果您使用VPN进行网络连接,仅此一项将无法将您连接到远程计算机。SSH是用于将您连接到另一台计算机的协议/方法。
现在,我想进一步理解您的问题:为什么在使用VPN时需要明确使用SSH,因为VPN意味着隐私/安全性。我的意思是,如果您100%信任您的VPN连接,则可以简单地使用非安全的Telnet甚至是简单的FTP,对吗?
好吧,结合使用SSH和VPN可以确保更深层次的安全性。这意味着,即使VPN遭到入侵,攻击者/狂热者仍将需要渗透SSH连接以获得有价值的东西。
另一方面,并非所有VPN都是为深层隐私/安全性而构建的。一些VPN只是通往其他用户也正在访问的其他网络的专用路由。在那种情况下,VPN与LAN(局域网)没有什么不同,在LAN中,VPN对等连接对其他VPN对等连接具有相同的访问权限。
一切归结为目的,隐私和可信赖性。如果您是100%肯定的,您可以信任您的VPN,并且不认为它会对数据泄漏造成风险,那么您就可以在VPN上进行任何您想做的事情,而无需SSH提供额外的安全性。但总的来说,主动安全胜于被动后悔。即使在安全的VPN中也使用SSH是必经之路。更不用说,SSH在当今如此普遍,没有理由不使用它。哎呀,人们往往会忘记Telnet的非SSH时代。
VPN通常通过在系统上创建虚拟网络适配器来工作。进入此虚拟网络适配器的流量会被VPN软件拦截,然后对其进行加密和其他处理,然后将其发送到VPN服务器终结点,在此可以进一步转发,例如内部企业路由器。对于应用程序而言,VPN与标准网络适配器没有什么不同。
SSH转发是您的SSH客户端侦听127.0.0.1上的端口,然后使用与Shell相同的加密方法将进入该本地端口的数据转发到服务器上的端口。如果在远程服务器的端口上没有监听任何内容,则不会发生任何事情。
至少有一些明显的区别:
SSH只能转发单个端口(当然,它可以转发多个端口,但是必须全部指定)。这意味着,如果要安全地访问远程主机上的多个服务(每个服务运行在唯一的端口上),则必须为每个服务设置并维护转发。
典型的SSH客户端不支持指定要连接的多个服务器,请尝试第一个起作用的服务器。例如,这种类型内置在OpenVPN中。
SSH本身不支持隧道UDP。
由于VPN看起来像操作系统的网络适配器,因此可以指定涉及VPN适配器的路由。因此,操作系统可以通过VPN适配器发送发往子网的任何流量。这可以做一些事情,例如使您的所有Internet流量都通过VPN进行过滤或保密。SSH无法轻松做到这一点。
第2层VPN可以处理广播流量,从而允许DHCP,多播,ICMP和Windows SMB相关的流量通过它们工作。