SSH経由でリモートホストにすでに接続されている場合は、リモートホストから接続ホストにファイルを再コピーできますか?

SSH経由でリモートホストにすでに接続されている場合は、リモートホストから接続ホストにファイルを再コピーできますか?

SSHを介してリモートホストに接続します。リモートホストからローカルホストに何かをコピーするには、scpを使用してコピーできます。

ただし、これを行うには、リモートホスト上のファイルのフルパスを入力する必要があります。私はすでにSSH接続のファイルディレクトリにあります。リモートホストに現在開いている接続を使用して接続ホスト(たとえば、自分のローカルコンピュータ)にファイルを再コピーする方法はありますか?

私が見つけたこれすでに回答しています。ただし、これには接続ホストにルーティング可能なIPが必要です。私はそれを持っていません。

ベストアンサー1

リモートホストに現在開いている接続を使用して接続ホスト(たとえば、自分のローカルコンピュータ)にファイルを再コピーする方法はありますか?

確かに!しかし、私たちはシリアルライン接続の古代世界をより深く探求する必要があります。当時、ユーザーとリモートコンピュータの間の唯一のものは銅線であり、「IPアドレス」は(ほとんどの人にとって)存在しませんでした。リモートホストへの一種の帯域外接続を確立するオプションはありませんでした。

当時、私たちが使っていた多くのツールは現代まで生き残り、シリアル接続が唯一のオプションではなかったので、その過程でさまざまなネットワーキングトリックを習得しました。ただし、以下を含む残りの機能セットはそのまま残りました。 「インライン」ファイル転送プロトコル(つまり、新しい接続を開くのではなく、既存の接続で実行される転送プロトコル)

あなたのニーズに合った2つの解決策は次のとおりです。どちらの場合も、ソフトウェアをローカルにインストールする必要があります。そしてリモートホスト。

コミットの使用

  1. インストールするコミットローカルおよびリモートホストで。

  2. kermitリモートホストへのSSH接続を確立するには、次の手順を実行します。

    kermit -EC 'ssh remotehost.example.com'
    
  3. kermitファイル転送を開始するには、リモートホストで使用してください。

    remotehost$ kermit -s somefile.txt
    
  4. ローカルKermitが自動的に受信モードに切り替わり、ファイルを受信するのを見てください。ローカルの現在の作業ディレクトリに表示されていることがわかります。

screen+lrzszを使う

次のようなものを使用できます画面そしてルオズシャン以下を含むパッケージモデム実装する。

  1. ローカルにインストールしますscreen

  2. lrzszローカルおよびリモートホストにインストールします。

  3. ~/.screenrc以下を含むようにコンテンツを編集します。

    zmodem catch
    
  4. 新しいscreenセッションを開始し、リモートホストに接続します。

    screen -e '' ssh remotehost.example.com
    
  5. szファイルを転送するには、次のコマンドを使用します。

    remotehost$ sz somefile.txt
    

    rzこれにより、画面下部にコマンドが表示されます<return>。そのコマンドを押すだけです。

  6. ローカルシステムへのファイル転送を見てください。以前と同様に、ローカルの現在の作業ディレクトリでファイルを見つけることができます。

zssh + lrzszの使用

バアバZmodemエスケープを理解するSSHラッパーです。プロセスは前のセクションとほぼ同じように見えますが、zssh画面の代わりに次を使用します。

  1. lrzszローカルおよびリモートホストにインストールします。

  2. リモートホストに接続します。

    localhost$ zssh remotehost
    
  3. ファイル転送の開始:

    remotehost$ sz somefile.txt
    
  4. CTRL-SPACEファイル転送モードに入るには、を入力してrz(次に<return>)を入力します。


私はFedora 36で動作しており、ここで言及されているすべてのもの(kermit、screen、lrzsz、zssh)は「上記のすべて」を得るためのパッケージとして提供されています。

sudo yum install screen ckermit zssh lrzsz

他のディストリビューションでは手動でインストールする必要があります。

おすすめ記事