![使用 autofs 和 sshpass 自动挂载 sshfs](https://linux22.com/image/116892/%E4%BD%BF%E7%94%A8%20autofs%20%E5%92%8C%20sshpass%20%E8%87%AA%E5%8A%A8%E6%8C%82%E8%BD%BD%20sshfs.png)
我想从不支持证书登录的远程 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 配置,它工作得很好。我究竟做错了什么?