如何通过 ssh 命令运行 sshfs?

如何通过 ssh 命令运行 sshfs?

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

例如,如果我这样做:

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

一切正常。现在,如果我用一个命令尝试一下:

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

但不是挂载点。通过使用 sshfs 调试选项,似乎卷已挂载,并在 ssh 连接结束时立即卸载。

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

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

怎么了?还有其他最佳方法吗?

答案1

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

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

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

这样,在您注销后,您的 sshfs 进程的父进程将成为 id 为 1 的进程,并且您的挂载将保持运行。

答案2

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

相关内容