如何通过ssh命令运行sshfs?

我尝试通过一个命令通过SSH运行sshfs

例如,如果我这样做:

$ ssh user@host user@host$ sshfs host:/src /target 

一切都好。 现在,如果我在一个命令中尝试这个:

 ssh -t "sshfs host:/src /target" 

但没有装点。 通过使用sshfsdebugging选项,当ssh连接结束时,似乎挂载了卷并立即卸载。

我也尝试在loginshell中运行sshfs,但退出shell时结果是一样的:

 ssh -t "/bin/sh -l -c sshfs host:/src /target && /bin/sh" 

怎么了 ? 有没有另一种最好的办法?

当您退出远程shell时,通过该shell启动的所有subprocess都将被终止,因为在注销时父(shell)会被终止。

为了避免这种情况,你可以使用nohup命令:

 ssh -t "nohup sshfs host:/src /target" 

这样注销后,你的sshfs进程的父进程将成为ID为1的进程,你的挂载将保持。

当有人试图访问该path时,您应该使用autofs自动挂载SSHFS文件系统。