これと非常によく似た質問に対する多くの回答を読んでいますが、実際に私の問題に合ったものが見つかりませんでした。状況はこんな感じです。アドレスが「machine1@address」のコンピュータがあり、このコンピュータで「machine2@ Different_address」に到達します。これで、machine1のメモリを「永久的に」占有したくないので、自分のコンピュータからmachine2に直接ファイルを送信またはインポートする必要があります。
私の目標は、Pythonスクリプトを作成してこのプロセスを自動化することです。したがって、最善の解決策はmachine1の「ホーム」を開かないことです(実際にどのように呼ぶのかわかりません。理解してください)。なぜなら、Pythonスクリプトは私が閉じるまで実行を停止するからです(少なくともSSHを使うときに何が起こるのかを簡単に説明します)。
ありがとうございます!
ベストアンサー1
「ホームページ」の用語とユーザー名の「machineX」形式が混同されます。そして私の考えでは、Pythonを使用する必要はまったくないと思います。
私の解決策は次のとおりです
machine2 に SSH トンネルを設定します。
mycomputer$ ssh -L2222:different_address:22 machine1@address
これで、トンネルを介してファイルをコピーしたり、sshfsやrsync、または必要なものをすべて使用できます。
mycomputer$ scp -P 2222 machine2@address:/whatever /target_local_dir
もう1つの方法は、address
sshdが実行されていると仮定し、コンピュータでscpを実行するか、mycomputer
sshコマンドをcat
必要なファイルに関連付けることです。
ssh machine1@address ssh machine2@different_address cat /path_to_the_remote_file > /target_local_file
(必要に応じてSSHキーを配布します)。