Telnetサーバーを介してpsql接続をpostgresデータベースサーバーにトンネリングしようとしていますが、パラメータの解析方法にわずかな違いがあり、しばらくの間デバッグに問題が発生します。
bash 5.0.11およびOpenSSH_8.1p1がインストールされているLinuxシステムでは、他のコンソールで次のコマンドを使用してこれを正常に実行できます。
ssh -N -T -L 50000:pgsql96.database.server:5432 [email protected]
psql -h localhost -p 50000 -d databasename -U user
bash 3.2.57とOpenSSH_7.9p1がインストールされているMacコンピュータで同じトンネルコマンドを実行するとき
ssh -N -T -L 50000:pgsql96.database.server:5432 [email protected]
次のエラーが発生します。
無効なローカル転送仕様 '50000:pgsql96.database.server:5432[Eメール保護]'
結局、上記の文字列は将来Telnetサーバーを参照しているので、コマンドライン引数の解析に違いがあることに気づき、次のように追加してコマンドを修正しました--
。
ssh -N -T -L 50000:pgsql96.database.server:5432 -- [email protected]
これらのパラメータが2つのバージョン間で異なるように解析されるのはなぜですか。これらの動作の違いはいつ予想されるべきですか?