在 Linux 世界中,SSH(Secure Shell)是一种广泛使用的网络协议,用于在不安全的网络中安全地访问远程计算机。尽管大多数用户已经熟悉基本的 SSH 登录命令,但还有许多高级和实用的 SSH 命令用法你可能还未曾了解。以下是 7 个你不可不知的 SSH 命令技巧。
-
多跳 SSH 连接: 使用
-J
选项,你可以通过一个或多个跳板机连接到最终目标服务器。例如:ssh -J user1@jump1,user2@jump2 finaluser@finalhost
。重点:这个命令允许你轻松穿越多个防火墙和 NAT 设备。 -
SSH 动态端口转发: 使用
-D
选项,你可以创建一个 SOCKS 代理,将本地端口的流量转发到远程服务器。例如:ssh -D 1080 user@remotehost
。重点:这对于绕过防火墙访问被封锁的网站非常有用。 -
SSH 本地端口转发: 通过
-L
选项,你可以将本地端口的流量转发到远程服务器的特定端口。例如:ssh -L 8080:localhost:80 user@remotehost
。重点:这在你需要访问远程服务器上的特定服务时非常便捷。 -
SSH 远程端口转发: 使用
-R
选项,你可以将远程服务器的端口流量转发到本地机器。例如:ssh -R 8080:localhost:80 user@remotehost
。重点:这对于从远程服务器访问本地服务非常有帮助。 -
使用 SSH 传输文件: 除了
scp
,你还可以使用sshfs
将远程文件系统挂载到本地,实现无缝的文件访问。重点:sshfs user@remotehost:/path/to/remote/dir /path/to/local/mountpoint
。 -
SSH 密钥认证自动化: 使用
ssh-agent
和ssh-add
,你可以实现无密码登录。重点:这大大简化了自动化脚本和频繁登录的流程。 -
SSH 命令执行: 使用
-C
选项进行压缩传输,可以显著提高慢速连接上的命令执行速度。例如:ssh -C user@remotehost 'command'
。重点:这对于在带宽受限的环境中运行命令非常有效。
掌握这些高级的 SSH 命令用法,将使你在 Linux 系统管理和远程访问方面更加游刃有余。