在 Linux 的广阔天地中,SSH(Secure Shell)无疑是连接服务器、执行远程命令的利器。但你是否已经充分挖掘了 SSH 的全部潜力?今天,就让我们一起探索那些鲜为人知却又异常实用的 SSH 命令用法,让你的远程操作更加高效便捷。
-
SSH 端口转发:
ssh -L 本地端口:远程主机:远程端口 用户名@远程主机地址
这个命令允许你将远程主机的某个端口映射到本地机器上,实现数据的透明转发。非常适合访问内网服务或进行数据库调试。 -
SSH 隧道(SOCKS 代理):
ssh -D 本地端口 用户名@远程主机地址 -N -f
设置 SOCKS 代理后,你可以在浏览器中配置使用这个代理,从而安全地浏览互联网或访问只能通过远程主机访问的资源。 -
SSH 密钥认证(无密码登录):通过生成 SSH 密钥对,并将公钥添加到远程服务器的
~/.ssh/authorized_keys
文件中,实现无需密码即可登录的便捷操作。 -
SSH 命令执行后自动退出:
ssh 用户名@远程主机地址 'command; exit'
对于只需执行单个命令并立即退出的场景,这种方式可以减少不必要的会话保持时间。 -
SSH 复制文件:虽然 SCP 或 RSYNC 是专门用于文件传输的工具,但 SSH 也能通过管道和重定向实现文件的快速复制,如
cat localfile | ssh 用户名@远程主机 'cat > remotefile'
。 -
SSH 隧道化 X11 会话:
ssh -X 用户名@远程主机地址
开启 X11 转发后,你可以在远程主机上运行 GUI 程序,并通过 SSH 会话在本地机器上显示图形界面。 -
SSH 跳板机(ProxyJump):
ssh -J 跳板机用户@跳板机地址 目标用户@目标地址
(需SSH版本7.3+)
当你需要通过一台或多台中间服务器访问最终目标时,SSH 的 ProxyJump 选项让这一过程变得简单直接。
掌握这些高级 SSH 命令用法,将极大提升你在 Linux 环境下的工作效率和安全性。无论是进行远程管理、数据交换还是安全访问,SSH 都能成为你手中最强大的工具之一。