在 Linux 系统中,SSH(Secure Shell)是一个非常重要的工具,它允许用户安全地登录到远程服务器并执行命令。然而,除了基本的登录和命令执行外,SSH 还有很多你可能不知道的强大用法。以下是 7 个你或许未曾尝试过的 SSH 命令用法:
-
端口转发:使用
-L
参数,你可以将本地端口转发到远程服务器上的端口,或者通过-R
参数将远程服务器的端口转发到本地。例如,ssh -L 5000:localhost:80 user@remote_host
会将远程服务器上的 80 端口转发到本地的 5000 端口。 -
SSH 隧道:通过端口转发,你可以创建一个 SSH 隧道,将 TCP 连接安全地路由到另一个服务器。这可以用于绕过防火墙或安全地访问内部网络。
-
SSH 密钥认证:除了密码外,SSH 还支持密钥认证,这通常更安全且更方便。你可以使用
ssh-keygen
命令生成密钥对,并在服务器和客户端上配置。 -
多跳 SSH 连接:使用
-J
参数(在较新的 OpenSSH 版本中),你可以创建一个通过多个中间服务器的 SSH 连接。这对于需要访问被防火墙隔离的服务器特别有用。 -
SSH 代理命令:使用
-W
参数,你可以将 SSH 连接用作 SOCKS 代理。这允许你通过 SSH 连接安全地路由任何应用程序的网络流量。 -
X11 转发:通过
-X
或-Y
参数,你可以将图形用户界面 (GUI) 应用程序从远程服务器转发到本地计算机。这对于远程运行图形化程序特别有用。 -
SSHFS 挂载远程文件系统:SSHFS 是一个允许你通过 SSH 协议挂载远程文件系统的文件系统客户端。你可以像操作本地文件一样操作远程文件。
掌握这些高级 SSH 命令用法将使你能够更加高效和安全地在 Linux 系统中工作。