我正在尝试使用 sshfs 挂载远程目录。我已经.ssh/config
设置好了,这样我就可以像这样通过 ssh 连接到远程机器上的用户
ssh wdev
有问题的远程目录(假设它位于~/runtime
远程用户remoteuser
)非常大(它是一个旧的大型 C++ 项目,包含构建文件和许多文件夹)。
根据我在线阅读的内容,我应该能够将其挂载runtime
到一个文件夹~/local-mount
(我已经创建),如下所示:
$ sshfs wdev:/home/myuser/runtime ~/local-mount
但是当我运行这个程序时,没有任何输出。sshfs
使用-d
flag 运行会稍微提供一些信息
$ sshfs -d wdev:/home/myuser/runtime ~/local-mount
FUSE library version: 2.9.7
nullpath_ok: 0
nopath: 0
utime_omit_ok: 0
然而此时输出停止了。此外,它似乎还冻结了其他东西。如果我打开另一个 shell 并尝试ls ~/local-mount
,它就会一直处于暂停状态,直到我用 中断Ctrl+c
。即使我只是从我的 shell 触发目录名称的自动完成,也会发生这种情况
ls ~/loca<TAB>
nautilus
甚至无法打开。所有这些症状持续存在,直到我中断正在运行的进程sshfs
,此时一切都恢复正常。有人能帮助我让它正常运行吗?
我应该注意,虽然在sshfs
命令中修改主机名会立即产生错误,但我可以随意修改远程文件夹名称,并且仍然会得到相同的行为
无论如何,我~/.ssh/config
在下面附上了我的连接。我的连接wdev
实际上是通过代理转发的wsl
,如果相关的话
# --- init_sd_card generated ---
# Use the key for all hosts
IdentityFile /home/local_user/.ssh/id_rsa
Host wsl
User remote-user
HostName 10.0.0.211
Port 2222
# https://superuser.com/questions/107679/forward-ssh-traffic-through-a-middle-machine
Host wdev
User remote-user
HostName 10.240.115.106
ProxyCommand ssh wsl -C -W %h:%p
答案1
看来我的用法是正确的,但我的 ssh 配置有误。提示我的是,ssh 进入可以wdev
正常工作,但尝试 ssh 进入wsl
却不行。
我仍然不确定是什么原因造成的,但我最终清除/重新安装了 ssh 服务器wsl
,这似乎已经解决了问题