当“手动”命令正常工作时,fstab 连接中的 sshfs 会通过 ~/.ssh/conf 中的 ssh 隧道重置

当“手动”命令正常工作时,fstab 连接中的 sshfs 会通过 ~/.ssh/conf 中的 ssh 隧道重置

我正在尝试在 fstab 中设置 sshfs 挂载,以持久挂载必须通过 ssh 隧道访问的网络目录。

我的.ssh/config样子是这样的:

Host A
    Hostname outer.server
    User <user>
    IdentityFile /home/<user>/.ssh/id_rsa
    ForwardAgent yes

Host B
    Hostname inner.server
    User <user>
    IdentityFile /home/<user>/.ssh/id_rsa
    ProxyCommand ssh -q A "nc %h %p"
    ForwardAgent yes

这工作正常:

sshfs B:/home/<user>/ /mnt/B

在 fstab 中这不会

sshfs#B:/home/<user>/    /mnt/B      fuse.sshfs      defaults,idmap=user,allow_other,reconnect,_netdev,users 0       0

并且,mount -a更新后运行whenfstab以使更改生效返回:

read: Connection reset by peer

我欢迎任何关于为什么 fstab 版本可能无法工作的建议。

答案1

root 看不到您的每用户 ssh 配置文件。您需要将其放置在根主目录 ( /root/) 中或放置在 中的系统范围配置文件中/etc/ssh/ssh_config,假设身份验证密钥未加密(没有密码)。

您还可以通过扔掉 netcat 并直接在 SSH 中使用 -W 开关进行 IO 转发来省去很多麻烦,或者如果您有足够新的 OpenSSH,则可以仅使用 ProxyJump 选项(有关详细信息,请参阅手册)。

并且还删除ForwardAgent yes.您不需要它做任何事情,它只是将您的私钥暴露给服务器。

相关内容