Linux OS用の古い(2001?)スクリプト-Pで、sshコマンドのオプションの使用に遭遇しました。
$ ssh -P host.domain -l user
しかし、sshマニュアルページには-Pオプションについての言及はありません。それでも、実行ssh -P host.domainしても警告やエラーは表示されません。
それは何です?古い/文書化されていないオプションかもしれませんか?
Linux OS用の古い(2001?)スクリプト-Pで、sshコマンドのオプションの使用に遭遇しました。
$ ssh -P host.domain -l user
しかし、sshマニュアルページには-Pオプションについての言及はありません。それでも、実行ssh -P host.domainしても警告やエラーは表示されません。
それは何です?古い/文書化されていないオプションかもしれませんか?
回答:
古いバージョンのマニュアルページ:
-P
非特権ポートを使用します。これを使用すると、rhosts認証またはrsarhosts認証を使用できませんが、特権ソースポートの通過を許可しないファイアウォールをバイパスするために使用できます。
[...]
UsePrivilegedPort
相手側に接続するときに特権ポートを使用するかどうかを指定します。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の実行のサポートが削除されたため、サポートコードを削除し、manページの参照をクリーンアップします
2002年以降、ssh(1)にsetuidビットを出荷していません。小さなポート番号から接続する必要がある場合は、小さなsetuid ProxyCommandを使用して実装できます。
OK markus @ jmc @ djm @
OpenBSD-Commit-ID:d03364610b7123ae4c6792f5274bd147b6de717e
オプションはまだ無視されますが、内部変数を設定することさえできなくなりました。