アクセスできないクライアントシステムからパブリックにアクセスできないサーバー上のリモートsshfsディレクトリをどのようにマウントしますか?

アクセスできないクライアントシステムからパブリックにアクセスできないサーバー上のリモートsshfsディレクトリをどのようにマウントしますか?

これは拡張です質問寄稿者: @Andre

中間システムを介してリモートSSHFSをマウントする方法は?トンネル?

私の状況は、リモートディレクトリをマウントしたい場合と同じですが、違いは両方のコンピュータがインターネットに公開されてAいないことです。私のローカルワークステーションです。BA

だから私はsshをA -> BすることはできませんB -> A

B -> C私がよくすることは、Cリースされた仮想サーバー(VPS)でリバース接続を確立することです。この接続を実行して接続が切断されると、再接続するスクリプトは@rebootキーによって開始されますcron

user@pcB $ ssh -R 2048:localhost:22 -p<port> user@serverC

それからA -> B途中道を選びますA -> C -> B

user@pcA $ ssh serverC
user@serverC $ ssh -p 2048 user@localhost
user@pcB $ # okay, logged in.

pcB:/home/userにディレクトリをマウントする方法を探していますpcA

SSH経由で他のコンピュータに接続する方法A -> C <- B同様ですが、提供されたソリューションはこの場合は機能しません。私の場合、接続マッピングはA -> C -> B

答え1

思ったより簡単です!

私たちがしなければならないのは2048、ポートをserverCポートにバインドすることだけですpcA。簡単にするために同じポート番号を使用してください2048

user@pcA $ ssh -L 2048:localhost:2048 user@serverC

この端末ウィンドウを開いたままにしてください。

pcB:/home/userその後、ローカルインストールディレクトリは次pcAのようになります。

sshfs -o port=2048 user@localhost:/home/user/ /mnt/pcB

良い副作用:freeNXこれは、vnc検索などの効率的なXサーバー接続を使用できることを意味します。マシンpcBに接続して正しい資格情報(ユーザー名/パスワード)を使用するだけです!localhost:2048pcB

接続のために端末を開いたままにしたくない場合は、次のものを使用できます。

ssh -NfL 2048:localhost:2048 user@serverC

これにより、雇用主/組織のセキュリティポリシーに違反する可能性があるため、適切な権限があることを確認してください。

関連情報