次のように、pythonスクリプトを使用して、中間ホストをプロキシとしてリモートホストからSQLダンプを取得しようとしています。
local machine -> proxy -> remote
リモートホストはそのプロキシを介した接続のみを許可するため、プロキシが存在する必要があります。
注: Paramiko トンネル (または同様のパッケージ) を介してデータベースに接続する方法で同様の質問があることは認識していますが、解決策は PostgreSQL に固有のようです。
paramiko経由でSSHで接続しています。forward.py がポート フォワーディングの paramiko の例であることは認識していますが、正しく使用しているかどうかはわかりません。これは私がしたことです(PX =プロキシ、RMT =リモート):
forward.py --password --host=PX --port=PXport --user=PXusr RMT:RMTport
そして、私はこの結果を得ます:
*** Unable to open host keys file
*** Warning: no host key for PX
Connecting to ssh host PX:PXport ...
Now forwarding port 4000 to RMT:RMTport ...
その後、スクリプトは最後の行でスタックします。
Q1: paramiko の forward.py を使用してプロキシ経由でリモート ホストに接続する方法の例はありますか?
Q2: 接続が確立された後、プログラムでリモート ホスト上でシェル コマンドを実行できますか?