SSHFSを使ってリモートファイルシステム(A)をマウントしたいのですが、IPアドレスがあってそこからのアクセスが許可されていないことがあります。そこで、私の計画では、そのネットワーク内の別のマシン (B) を経由してアクセスすることにしています。BにAをマウントしてから、ローカルコンピュータにB(とA)をマウントする必要があるのでしょうか?何か良い方法はありますか?
Update
手続きを明確にするためだけに
まずはトンネルを作ります
ssh -f user@machineB -L MYPORT:machineA:22 -N
そして、リモートファイルシステムをマウントします
sshfs -p MYPORT user@127.0.0.1:/myremotepath /mylocalpath
それは正しいのか?
終わった時にトンネルを破壊するにはどうすればいいのでしょうか?
31 None 2010-05-08
トンネリングですね。マシンBに接続し、マシンAのSSHdポートにローカルトンネル(-L)を作成し、新しく作成したトンネルのポートにローカルホストにsshfsで接続します
10 edk 2010-05-08
sshfs
のオプションssh_command
を使っても大丈夫です
sshfs ma: /mnt -o ssh_command='ssh -t mb ssh'
いつものようにアンマウントします
fusermount -u /mnt
7年も遅れてすみません
20 Rodrigo Farias 2017-10-08
HighSierra 10.13.6、SHFSバージョン2.5 (OSXFUSE SSHFS 2.5.0) OSXFUSE 3.10.4で動作しています。FUSEライブラリのバージョン:2.9.7
上記のロドリゴ・ファリアスの回答+クレミッシュとオハド・ルービンのコメントに基づいて、-Jオプションに注目しています
sshfs -p port finalserver_username@finalserver:/path/to/folder/on/finalserver/ /local/mount/point -o ssh_command='ssh -J intermediate_server_username@intermediate_server:port'
4 dcneuro 2020-03-23
あなたの接続スキーム。Your machine --> Host B --> Host A
私たちのソリューションは OpenSSH 7.3 で導入された Proxy Jump を使用します
ssh -V
次に、適切に設定する必要があります あなたの ~/.ssh/config.例えば、マシンBがマシンAからのパスワードログインで利用可能な場合
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
0 lucidyan 2019-02-28