リバースSSHトンネルを介したSFTP?

リバースSSHトンネルを介したSFTP?

SFTPを介してNATの背後にあるリモートコンピュータに転送したいと思います。 NAT ルーターを変更できなかったため、中間サーバーを使用してリバース SSH トンネルを確立しました。

私のSSHトンネルは次のとおりです。

laptop--->nat--->middleman<--nat<--desktop

詳しくはこちらをご覧ください。 SSHリバーストンネルによるTeamViewerのリモートデスクトップの置き換え

現在、このトンネルを通じてSSHとVNCを使用しています。

トンネルを介してSFTPを使用する方法は?

私はコマンドが次のようになると仮定します。

sftp://localhost:port

SSHログインは次のように行われます。鍵ペアのみ(パスワードなし)したがって、私たちはソリューションでこれを考慮する必要があります。私はKDEを使用しているので、Dolphinファイルマネージャと連携する必要があります。 DolphinでSFTP認証を設定するのは難しいかもしれません。

私のラップトップでDolphinを実行し、このようにデスクトップのファイルシステムに接続します。

laptop(SFTP client)--->nat--->middleman<--nat<--desktop(SFTP server)

PS:それがより簡単な場合は、sshfsも考慮します。サーバーのドメイン名やIPアドレスがないため、そうは思いません。

答え1

まず、前提条件は次のとおりです(少なくとも私にとっては)。 SSHリバーストンネルによるTeamViewerのリモートデスクトップの置き換え

リバースSSHトンネルは次のとおりです。

laptop(SFTP client)--->nat--->middleman<--nat<--desktop(SFTP server)

~/.ssh/config を編集し、laptop以下を追加します。

Host SftpToDesktop
  HostName localhost
  Port %p
  User admin
  PasswordAuthentication no
  IdentityFile ~/.ssh/my_id_rsa

次に、ノートブックからメッセージの傍受(上記のリンクをたどる)まで、すでに設定されている既存のSSH回線を使用して、次の手順を実行します。

$ ssh -fNL 1234:localhost:1234 -i ~/.ssh/some_id_rsa [email protected]

最後に、Dolphinを開き(私のようにKDEを使用している場合)、次の場所を入力します。

sftp://SftpToDesktop:1234

関連情報