このSSHトンネルコマンドエラーがMacでは発生しますが、Linuxでは発生しません。

このSSHトンネルコマンドエラーがMacでは発生しますが、Linuxでは発生しません。

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つのバージョン間で異なるように解析されるのはなぜですか。これらの動作の違いはいつ予想されるべきですか?

ベストアンサー1

おすすめ記事