在 Linux 操作系统的旧(2001?)脚本中,我遇到-P
了ssh
命令选项的使用:
$ ssh -P host.domain -l user
Run Code Online (Sandbox Code Playgroud)
但是在ssh
手册页中没有提到-P
选项。尽管如此,执行ssh -P host.domain
不会显示任何警告或错误。
那是什么?可能是旧的/未记录的选项吗?
fro*_*utz 27
旧版手册页:
-P
使用非特权端口。有了这个,你不能使用 rhosts 或 rsarhosts 身份验证,但它可以用来绕过一些不允许特权源端口通过的防火墙。
[...]
UsePrivilegedPort
指定连接另一端时是否使用特权端口。如果启用了 rhosts 或 rsarhosts 身份验证,则默认值为 yes。
直从源代码:
case 'P': /* deprecated */
options.use_privileged_port = 0;
break;
Run Code Online (Sandbox Code Playgroud)
它将选项设置为 0,无论如何这似乎是默认值,因此它什么都不做。忽略不提倡的选项有助于在不影响功能的情况下向后兼容性...
该/* deprecated */
变化可以追溯到2002-09-04。
甚至我上面引用的代码(来自 openssh-portable 7.7)也几乎在最近的一次提交中被删除了:
上游:弃用UsePrivilegedPort
现在对运行 ssh(1) setuid 的支持已被删除,删除支持代码并清理手册页中对它的引用
自 2002 年以来,我们没有提供 ssh(1) 的 setuid 位。如果有人真的需要从低端口号建立连接,这可以通过一个小的 setuid ProxyCommand 来实现。
OK马库斯@ JMC @ DJM @
OpenBSD-Commit-ID: d03364610b7123ae4c6792f5274bd147b6de717e
它仍然忽略该选项,但甚至不再设置与之配套的内部变量。
归档时间: |
|
查看次数: |
4497 次 |
最近记录: |