使用 autofs 和 sshpass 自动挂载 sshfs

使用 autofs 和 sshpass 自动挂载 sshfs

我想从不支持证书登录的远程 NAS 挂载分区。

我创建或编辑了以下文件:

  • /etc/ssh/sshpass.232使用 ssh 密码

  • /etc/ssh/sshpass.232.sh具有执行权限和以下内容:

    #!/bin/bash
    sshpass -f /etc/ssh/sshpass.232 ssh $*
    
  • /etc/auto.master包含以下内容:

    /mnt/232       /etc/auto.232  uid=0,gid=0,--ghost
    
  • /etc/auto.232包含以下内容:

    serverroot -fstype=fuse,allow_other,follow_symlinks,ssh_command='/etc/ssh/sshpass.232.sh'  :sshfs\#user@sshfs_server_ip\:/mount_path
    

然后我重新启动 autofs 服务:

sudo systemctl restart autofs.service

我尝试运行ls /mnt并看到它/mnt/232出现在/mnt文件夹中。然后我跑ls进去/mnt/232/,看到文件夹/mnt/232/serverroot就在那里。但当我尝试时ls /mnt/232/serverroot,它说:

ls: cannot access '/mnt/232/serverroot/': No such file or directory

如果我使用 mount 手动执行此操作:

sshfs -o allow_other,follow_symlinks,ssh_command='/etc/ssh/sshpass.232.sh' user@sshfs_server_ip:/mount_path /mnt/232/serverroot

它工作完美。另外,如果我使用 autofs 进行 cifs 配置,它工作得很好。我究竟做错了什么?

相关内容