在 Linux 系统管理中,SSH(Secure Shell)协议是远程登录和管理服务器的必备工具。尽管许多用户已经熟悉了基本的 SSH 命令,但还有一些高级用法和技巧可能并不广为人知。今天,我们就来揭示 7 个你可能不知道的 SSH 命令用法,帮助你更高效地进行远程管理。
1. 端口转发****:
使用 -L
选项,SSH 可以实现本地端口转发。例如,ssh -L 8080:localhost:80 user@remote_host
这条命令会将远程主机 remote_host
上的 80 端口转发到本地的 8080 端口,方便你在本地访问远程主机的 HTTP 服务。
2. 跳板机连接****:
通过 -J
选项,你可以设置跳板机(Jump Host)。例如,ssh -J user1@jump_host user2@target_host
这条命令会先通过 jump_host
连接到 target_host
。
3. 压缩数据传输****:
使用 -C
选项,SSH 会压缩传输的数据,这在带宽有限的情况下非常有用。例如,ssh -C user@remote_host
。
4. 限制 SSH 会话带宽****:
-l
选项允许你限制 SSH 会话的带宽使用。例如,ssh -l 500 user@remote_host
会将带宽限制为 500 Kbit/s。
5. 执行远程命令****:
通过 ssh user@remote_host 'command'
,你可以直接在远程主机上执行命令,而无需登录到远程主机。
6. 基于密钥的认证****:
使用 -i
选项,你可以指定私钥文件进行认证。例如,ssh -i /path/to/private_key user@remote_host
。
7. 持久化连接****:
使用 -M
和 -S
选项,你可以创建持久化的 SSH 控制主连接,以复用现有的连接,提高连接效率。例如,ssh -MnS /tmp/ssh_mux user@remote_host
,然后使用 -o ControlPath=/tmp/ssh_mux
来复用该连接。
掌握这些 SSH 命令的高级用法,将让你的远程管理工作更加得心应手。