opcja „-P” ssh, do czego służy?

19

W starym (2001?) Skrypcie dla systemu operacyjnego Linux spotkałem się z -Popcją sshpolecenia:

$ ssh -P host.domain -l user

Ale na sshstronie podręcznika nie ma wzmianki o -Popcji. Niemniej jednak wykonywanie ssh -P host.domainnie wyświetla żadnych ostrzeżeń ani błędów.

Co to? Czy może być stara / nieudokumentowana opcja?

Gianluca Frustagli
źródło

Odpowiedzi:

26

Strona man starej wersji:

-P

Użyj portu nieuprzywilejowanego. Dzięki temu nie można używać uwierzytelniania rhosts lub rsarhosts, ale można go użyć do ominięcia niektórych zapór ogniowych, które nie pozwalają na przejście uprzywilejowanych portów źródłowych.

[...]

UsePrivilegedPort

Określa, czy używać uprzywilejowanego portu do łączenia się z drugim końcem. Domyślnie jest tak, jeśli włączone są uwierzytelnianie rhosts lub rsarhosts.

Prosto z kodu źródłowego:

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

Ustawia opcję na 0, która i tak wydaje się wartością domyślną, więc nic nie robi. Ignorowanie przestarzałych opcji pomaga zachować zgodność z poprzednimi wersjami, gdy nie wpływa to na funkcjonalność ...

Te /* deprecated */terminy powrócić do 2002-09-04.


Nawet fragment kodu, który zacytowałem powyżej (z openssh-portable 7.7) prawie został usunięty w ostatnim zatwierdzeniu :

upstream: Przestarzałe UsePrivilegedPort

teraz, kiedy obsługa setuid ssh (1) została usunięta, usuń kod pomocniczy i wyczyść odniesienia do niego na stronach podręcznika

Nie wysyłamy ssh (1) bitu setuid od 2002 roku. Jeśli ktoś naprawdę musi nawiązywać połączenia z niskiego numeru portu, można to zaimplementować za pomocą niewielkiej setuid ProxyCommand.

ok markus @ jmc @ djm @

OpenBSD-Commit-ID: d03364610b7123ae4c6792f5274bd147b6de717e

Nadal ignoruje tę opcję, ale nie ustawia nawet wewnętrznej zmiennej, aby z nią skorzystać.

frostschutz
źródło