这些是SSH(Secure Shell)命令行工具的标准选项,用于实现远程登录、文件传输以及其他安全网络服务。下面是对每个选项的简要说明:
基本连接参数:
-1
: 强制使用SSHv1协议(不推荐,通常应使用SSHv2)。-2
: 强制使用SSHv2协议(默认)。-4
,-6
: 强制使用IPv4或IPv6地址解析。-A
,-a
: 启用或禁用认证代理转发。-C
: 启用压缩。-c cipher_spec
: 指定加密算法。-F configfile
: 指定替代的配置文件。-i identity_file
: 从指定文件中读取私钥。-l login_name
: 登录远程系统时使用的用户名。-p port
: 指定远程主机的SSH端口号,默认是22。
隧道与转发:
-D [bind_address:]port
: 打开SOCKS代理。-L address
: 本地端口转发(将本地端口转发到远程主机)。-R address
: 远程端口转发(将远程主机的端口转发到本地)。
身份验证与控制:
-J [user@]host[:port]
: 通过Jump Host(跳板机)连接。-e escape_char
: 设置转义字符。-o option
: 设置配置选项,如ProxyCommand
等。-O ctl_cmd
: 控制Master连接的操作,如检查、退出等。
会话控制与日志:
-f
: 在后台执行SSH命令。-N
: 不执行远程命令,仅做端口转发或转发X11。-E log_file
: 指定日志文件。-T
: 禁止分配伪终端。
高级选项:
-G
,-g
: 用于生成公钥认证文件的选项。-K
,-k
: 关于密钥重新载入和代理的选项。-M
,-S ctl_path
: 控制Master实例的选项。-Q query_option
: 查询SSH配置选项的值。-W host:port
,-w local_tun[:remote_tun]
: 用于网络隧道和接口转发的高级选项。
执行命令:
[user@]hostname [command]
: 最后一部分指定了要连接的主机名(和可选的用户名),以及可选的命令,如果提供了命令,则会在远程主机上执行该命令而不是打开shell。
例如,如果你想使用密钥认证登录远程主机,并在登录后执行ls -la
命令,命令可能像这样:
ssh -i /path/to/private_key user@remote_host "ls -la"
掌握这些选项可以让你灵活高效地使用SSH进行各种复杂的操作和配置。