中間マシン経由でリモートSSHFSをマウントする方法は?トンネリング?


26

SSHFSを使用してリモートファイルシステム(A)をマウントしたいのですが、IPアドレスがあり、アクセスが許可されていないことがあります。したがって、私のネットワークの別のマシン(B)経由でアクセスする計画です。AをBにマウントしてから、ローカルコンピューターにB(およびA)をマウントする必要がありますか?それを行うより良い方法はありますか?

更新

手順を明確にするためだけに:

まず、トンネルを作ります

ssh -f user@machineB -L MYPORT:machineA:22 -N

そして、リモートファイルシステムをマウントします

sshfs -p MYPORT user@127.0.0.1:/myremotepath /mylocalpath

それが正しいか?

完了したら、どのようにトンネルを破壊しますか?


1
トンネルを設定するためのより良い方法はからBへの接続することですGNU画面使用してウィンドウをマシンA:22 -N、マシンB -L 2222 @ sshのユーザを使用すると、簡単に^ Cでそれを殺すことができるように
EDK

回答:


9

うんトンネリング。マシンBを接続し、マシンAのSSHdポートにローカルトンネル(-L)を作成してから、新しく作成されたトンネルのポートにlocalhostsshfsします。


次のコマンドはそれを行う正しい方法ですか?ssh -f user@machineB -L 25:machineA:25 -N
アンドレイ

1
はい、sshdがマシンAのポート25をリッスンしている場合は、sshfs -p 25 user@127.0.0.1:/ path / localpath
edk

1
ああ、だからデフォルトのsshのセットアップに必要なssh -f user@machineB -L 22:machineA:22 -Nんだよね?
アンドレイ

16

オプションssh_commandを使用sshfsしてトリックを実行できます。

sshfs ma: /mnt -o ssh_command='ssh -t mb ssh'

通常の方法でアンマウントします

fusermount -u /mnt

申し訳ありませんが、これは7年遅れています...


5
openssh 1.1の新しい-Jオプションを使用すると、次のようになります。sshfs ma:/ mnt -o ssh_command = 'ssh -J mb'
Ohad Rubin

0

接続スキーム: Your machine --> Host B --> Host A

私たちのソリューションは、OpenSSH 7.3で導入されたProxy Jumpを使用します。したがって、バージョンが新しいことを確認する必要があります。

ssh -V

次に、〜/ .ssh / configを適切構成する必要があります。たとえば、machineAからのパスワードログインでmachineBを使用できる場合:

machineB
    HostName {machineB ip address}
    User {machineB username}
    Port {machineB port-number}
    IdentityFile ~/.ssh/{machineB private ssh key}

machineA
    ProxyJump machineB
    Hostname {machineA ip address, maybe in local network}
    User {machineA username}
    Port {machineA port-number}

最後に、マウントポイントを作成し、/ etc / fstabに行を追加します

machineB:{machineB mount path}  {your local mountpoint}  fuse.sshfs delay_connect,_netdev,user,idmap=user,follow_symlinks,identityfile={local path to machineB private key},default_permissions,uid={local user uid},gid={local user gid} 0 0

これには、使用のみの場合と比べて利点があり-o ssh_command="ssh -J machineB"ますか?
クレミッシュ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.