ssh“ -P”选项,它的作用是什么?


19

在Linux操作系统的旧版(2001?)脚本中,我遇到了使用命令-P选项的情况ssh

$ ssh -P host.domain -l user

但是在ssh手册页中没有提到任何-P选项。但是,执行ssh -P host.domain不会显示任何警告或错误。

那是什么?可能是旧的/未记录的选项?

Answers:


26

旧版手册页:

-P

使用非特权端口。使用此功能,您不能使用rhosts或rsarhosts身份验证,但可以用来绕过某些不允许特权源端口通过的防火墙。

[...]

UsePrivilegedPort

指定连接到另一端时是否使用特权端口。如果启用了rhosts或rsarhosts身份验证,则默认值为yes。

直接来自源代码:

            case 'P':       /* deprecated */
                    options.use_privileged_port = 0;
                    break;

它将选项设置为0,无论如何这似乎都是默认值,因此它什么也不做。在不影响功能的情况下,忽略不推荐使用的选项有助于向后兼容...

/* deprecated */变化可以追溯到2002-09-04。


甚至我上面引用的一些代码(来自openssh-portable 7.7)也差不多在最近的提交中被删除了

上游:弃用UsePrivilegedPort

现在已经删除了对运行ssh(1)setuid的支持,请删除支持代码并在手册页中清除对其的引用

自2002年以来我们就没有发布过ssh(1)setuid位。如果ayone确实需要从低端口号建立连接,则可以通过一个小的setuid ProxyCommand来实现。

好的markus @ jmc @ djm @

OpenBSD-Commit-ID:d03364610b7123ae4c6792f5274bd147b6de717e

它仍然忽略该选项,但不再设置内部变量。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.