在 Linux 系统中,SSH(Secure Shell)协议是远程登录和文件传输的重要工具。大多数用户可能对 SSH 的基本用法如 ssh user@hostname
比较熟悉,但 SSH 实际上还有许多鲜为人知且功能强大的用法。今天,我们就来揭秘 Linux 下你所不知道的 7 个 SSH 命令用法。
1. 使用 -X
选项启用 X11 转发**
ssh -X user@hostname
重点加粗:通过 -X
选项,你可以在远程机器上运行图形界面程序,并将界面显示在本地机器上。这对于需要在远程服务器上运行 GUI 应用的情况非常有用。
2. 端口转发**
ssh -L local_port:remote_host:remote_port user@hostname
重点加粗:这一命令可以将远程服务器的某个端口转发到本地机器的指定端口,实现安全的端口转发功能。
3. 通过 -f
和 -N
选项实现后台运行**
ssh -fN -L local_port:remote_host:remote_port user@hostname
重点加粗:-f
选项让 SSH 命令在后台运行,-N
选项表示不执行远程命令,常用于长时间保持端口转发状态。
4. 使用 -i
选项指定私钥文件**
ssh -i /path/to/private_key user@hostname
重点加粗:当你使用 SSH 密钥对进行认证时,可以通过 -i
选项指定私钥文件,避免输入密码。
5. 利用 -t
选项分配伪终端**
ssh -t user@hostname 'command'
重点加粗:-t
选项会为远程命令分配一个伪终端,这在执行需要终端交互的命令时非常有用。
6. 通过 -o
选项设置 SSH 选项**
ssh -o "Option=Value" user@hostname
重点加粗:-o
选项允许你自定义 SSH 客户端的行为,如调整连接超时时间、指定加密算法等。
7. 使用 -M
和 -S
选项实现控制主连接**
ssh -M -S /tmp/ssh_mux user@hostname
重点加粗:-M
选项启用了控制主连接功能,-S
选项指定了控制套接字的路径。这一功能允许你通过单个 SSH 连接管理多个会话,提高连接效率。
掌握这些 SSH 命令的高级用法,将极大地提升你在 Linux 环境下的工作效率和安全性。