ssh 命令用于通过安全的加密连接远程登录到其他计算机。以下是 ssh 命令的常用选项及其作用:
常用选项:
-4:
强制使用 IPv4 地址。
-6:
强制使用 IPv6 地址。
-A:
启用认证代理连接转发。
-a:
禁用认证代理连接转发。
-C:
压缩所有数据(包括标准输入、输出、错误输出以及 X11 和 TCP 连接的数据)。
-f:
让 ssh 在认证后转入后台运行。
-G:
打印配置并退出。用于检查配置文件的解析结果。
-g:
允许远程主机连接到本地转发端口。
-K:
启用基于 GSSAPI 的认证和转发。
-k:
禁用基于 GSSAPI 的认证和转发。
-M:
将 ssh 置于主模式(用于连接共享)。
-N:
不执行远程命令,仅用于端口转发。
-n:
将标准输入重定向到 /dev/null,防止从标准输入读取数据。
-q:
安静模式,抑制大多数警告和诊断信息。
-s:
用于远程执行子系统(如 sftp)。
-T:
禁用伪终端分配。
-t:
强制分配伪终端,即使没有本地终端。
-V:
显示版本信息并退出。
-v:
详细模式(可多次使用以提高详细程度)。
-X:
启用 X11 转发。
-x:
禁用 X11 转发。
-Y:
启用受信任的 X11 转发。
-y:
将日志发送到系统日志(syslog)。
其他选项:
-B bind_interface:
绑定到指定的网络接口。
-b bind_address:
绑定到指定的本地地址。
-c cipher_spec:
指定加密算法。
-D [bind_address:]port:
动态端口转发(SOCKS 代理)。
-E log_file:
将调试日志写入指定文件。
-e escape_char:
设置转义字符(默认是 ~)。
-F configfile:
指定配置文件。
-I pkcs11:
指定 PKCS#11 共享库。
-i identity_file:
指定身份文件(私钥文件)。
-J destination:
通过跳板机连接目标主机。
-L address:
本地端口转发。
-l login_name:
指定远程登录的用户名。
-m mac_spec:
指定 MAC(消息认证码)算法。
-O ctl_cmd:
控制主连接(如 check、forward、cancel 等)。
-o option:
指定配置选项。
-P tag:
指定预认证标签。
-p port:
指定远程主机的端口。
-R address:
远程端口转发。
-S ctl_path:
指定控制套接字路径。
-W host:port:
将标准输入和输出转发到指定的主机和端口。
-w local_tun[:remote_tun]:
请求隧道设备转发。
查询选项:
-Q query_option:
查询支持的算法或协议。例如:
ssh -Q cipher 查询支持的加密算法。
ssh -Q mac 查询支持的 MAC 算法。
ssh -Q key 查询支持的密钥类型。
示例:
连接到远程主机:
ssh user@hostname
使用指定端口连接:
ssh -p 2222 user@hostname
启用 X11 转发:
ssh -X user@hostname
本地端口转发:
ssh -L 8080:localhost:80 user@hostname
动态端口转发(SOCKS 代理):
ssh -D 1080 user@hostname
这些选项可以帮助你根据需要配置 ssh 连接,实现不同的功能。
评论