在 Linux 系统中,SSH(Secure Shell)是一种常用的远程登录和文件传输协议。虽然许多用户已经对 SSH 的基本用法有所了解,但仍有一些高级和实用的 SSH 命令用法鲜为人知。以下是你在 Linux 下可能不知道的 7 个 SSH 命令用法,它们将极大地提升你的工作效率。
1. 使用 -X
选项启用 X11 转发**
ssh -X username@hostname
重点加粗:这个选项允许你在远程主机上运行图形界面程序,并将界面显示在你的本地计算机上。
2. 通过 -L
选项设置本地端口转发**
ssh -L local_port:remote_host:remote_port username@hostname
重点加粗:这个命令将远程主机的 remote_port
端口映射到本地计算机的 local_port
端口,方便你通过本地端口访问远程服务。
3. 使用 -f
和 -N
选项实现后台运行和无命令执行**
ssh -fN -L local_port:remote_host:remote_port username@hostname
重点加粗:这个组合选项允许你设置端口转发后,将 SSH 会话置于后台运行,并且不执行任何远程命令。
4. 通过 -i
选项指定私钥文件**
ssh -i /path/to/private_key username@hostname
重点加粗:这个选项允许你使用指定的私钥文件进行身份验证,而无需依赖默认的 ~/.ssh/id_rsa
或 ~/.ssh/id_dsa
文件。
5. 使用 -o
选项设置 SSH 配置**
ssh -o "OptionName=OptionValue" username@hostname
重点加粗:这个选项允许你临时覆盖 SSH 客户端配置文件中的设置,例如 ConnectTimeout
、ServerAliveInterval
等。
6. 通过 -t
选项分配一个远程终端**
ssh -t username@hostname 'command'
重点加粗:这个选项确保即使你运行的是单个命令,也会分配一个远程终端,这在某些需要交互式输入的场景中非常有用。
7. 使用 -M
和 -S
选项实现控制持久连接**
ssh -M -S /tmp/ssh_mux_control_socket username@hostname
重点加粗:这两个选项允许你建立一个持久的控制连接,并通过该连接运行多个 SSH 会话,从而节省资源和时间。
掌握了这些 SSH 命令的高级用法,你将能够更加灵活和高效地利用 SSH 进行远程操作。