SSH提供的不仅仅是安全的远程终端环境。您可以使用SSH来传输流量、传输文件、挂载远程文件系统等。这些提示和技巧将帮助您充分利用SSH服务器。
SSH不仅仅通过加密的连接进行身份验证-您的所有SSH流量都是加密的。无论您是传输文件、浏览Web还是运行命令,您的操作都是私有的。
SSH隧道
SSH隧道允许远程SSH服务器充当代理服务器。来自本地系统的网络流量可以通过安全连接发送到SSH服务器。例如,您可以通过SSH隧道引导Web浏览流量进行加密。这将防止公共Wi-Fi网络上的人看到您正在浏览的内容,或者绕过本地网络上的网站和内容过滤器。
当然,当流量离开SSH服务器并访问Internet时,它将变为未加密。对于您通过隧道访问的Web服务器,您的连接将显示为来自运行SSH服务器的计算机,而不是本地系统。
在Linux上,使用以下命令在本地系统的端口9999处创建SOCKS代理:
隧道将一直打开,直到您的SSH连接终止。
打开Web浏览器(或其他应用程序)并将SOCKS代理设置为端口9999和localhost。使用localhost,因为隧道入口在您的本地系统上运行。
我们还介绍了如何使用PuTTY在Windows上设置SSH隧道。
SCP文件传输
scp或Secure Copy命令允许您在运行SSH服务器的远程系统和本地系统之间传输文件。
例如,要将本地文件复制到远程系统,请使用以下语法:
要将远程SSH服务器上的文件复制到本地系统,请改用以下语法:
您还可以设置无密码的SCP访问,并使用SCP从脚本中传输文件。
挂载远程目录
您可以通过SSH挂载远程文件夹,并像访问系统上的任何其他目录一样访问它,从而跳过冗长的SCP文件传输过程。
如果您正在使用带有Nautilus文件管理器的Ubuntu或其他基于GNOME的桌面环境,请启动文件管理器,单击File菜单并选择Connect to Server。
系统将提示您输入SSH服务器的详细信息和凭据。
远程系统上的文件将出现在您的文件管理器中。
其他Linux桌面环境可能具有类似的选项,以便通过SSH轻松挂载目录。
如果您无法访问GUI或更愿意使用终端实用程序,则可以使用sshfs将远程SSH系统作为文件系统挂载到您的计算机上。
保留终端会话
每次使用SSH登录时,您都会看到一个新的终端会话。当您注销时,您的会话将关闭。如果您希望在SSH会话之间保留终端会话,请使用GNU Screen或其他实用程序。
登录到远程系统后,运行Screen命令以启动Screen会话。在Screen会话内运行命令,然后按Ctrl-a,然后按d从Screen会话分离。
Screen会话和在其中运行的命令继续在后台运行。要稍后重新连接到Screen会话,请运行Screen-r命令。
当您登录时,SSH可以接受要运行的命令,因此您可以连接到SSH服务器,然后使用单个命令重新连接到Screen会话:
如果您对运行SSH服务器的系统具有本地访问权限,则可以在本地和远程访问Screen会话之间切换。
可视化关键指纹
当您从另一个系统连接到SSH服务器时,如果系统还不知道它的密钥,您将看到一条警告消息。此消息可帮助您确保远程系统不会被另一个系统模拟。
但是,您可能难以记住标识远程系统公钥的长字符串。要使密钥的指纹更容易记住,请启用“可视化主机密钥”功能。
您可以在SSH配置文件中启用它,或者在运行SSH命令时将其指定为一个选项。例如,运行以下命令以连接到启用了VisualHostKey的SSH服务器:
现在你只需要记住这张照片,而不是一根长线。
你还有其他要分享的小贴士吗?请留下评论,让我们知道。