ssh "-P"オプション、どの用途に使用されますか?

ssh

Linuxオペレーティングシステムの古い(2001?)スクリプトで-Pコマンドオプションが使用されている状況が発生しましたssh

$ ssh -P host.domain -l user

ただし、マニュアルページにはオプションsshに関する言及はありません。-Pただし、実行するとssh -P host.domain警告やエラーは表示されません。

それは何ですか?おそらく、古いまたは文書化されていないオプションでしょうか?

ベストアンサー1

以前のバージョンのマニュアルページ:

-血

権限のないポートを使用してください。この方法では、rhosts認証またはrsarhosts認証を使用できませんが、特権ソースポートを許可しないファイアウォールをバイパスするために使用できます。

[...]

特権ポートの使用

相手に接続するときに特権ポートを使用するかどうかを指定します。 rhosts認証またはrsarhosts認証が有効になっている場合、デフォルトはyesです。

ソースコードから直接:

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

とにかくデフォルトのように0にオプションを設定するので、何もしません。廃止されたオプションを無視すると、機能に影響を与えずに以前のバージョンとの互換性を高めるのに役立ちます。

この/* deprecated */変更は2002年9月4日から遡及的に適用されます。


上記で引用したコード(openssh-portable 7.7で)もほぼ同じです。最近コミットから削除されました:

アップストリーム: UsePrivilegedPort サポートの中止

ssh(1) setuid 実行のサポートが削除されました。サポートコードを削除し、マニュアルページからそれへの参照を消去します。

2002年以降、ssh(1)にsetuidビットを提供していません。誰かが実際に低いポート番号で接続を確立する必要がある場合は、小さなsetuid ProxyCommandを介してこれを行うことができます。

わかりました、マーカス@jmc@djm@

OpenBSD-コミット-ID: d03364610b7123ae4c6792f5274bd147b6de717e

それでもオプションは無視されますが、一致する内部変数を設定しなくなりました。

おすすめ記事