我有以下内容可以帮助我到达最终服务器:
ssh -o ProxyCommand="ssh -W %h:%p ServerA" hackJJ@localhost-p 2222
最基本的布局:
Me -> ServerA -> ServerB (localhost)
ServerA
使用密钥直接登录。ServerB
需要密码。
我的问题是,我如何才能将驱动器从安装ServerB
到Me
?我尝试了以下操作,但连接被重置,调试时出现invalid quotes
sshfs hackJJ@localhost :/remote/path /local/path -o ssh_command='ssh -o ProxyCommand="ssh -W %h:%p ServerA" -p 2222'
有什么想法吗?我的设备是 Ubuntu
答案1
将参数放入你的~/.ssh/config
:
Host ServerB
ProxyCommand ssh -W %h:%p ServerA
Hostname localhost
Port 2222
HostkeyAlias ServerB
User hackJJ
这将匹配与“ServerB”的连接,例如sshfs ServerB:/foo
。
使用最近的 OpenSSH,这种类型的 ProxyCommand 可以替换为ProxyJump ServerA
-J ServerA
(如果您确实想继续使用,它也有命令行选项ssh_command=
)。
听起来连接也是通过 ServerA 的第二条隧道建立的——在这种情况下,您甚至可以使用ProxyJump ServerA,ServerC
localhost:2222 来代替。(这需要本地客户端拥有所有跳转的凭据。)