有没有办法使用 FUSE sshfs 配置自动挂载程序(Linux 或 OSX),以便cd /servers/<server>
使用 sshfs 自动挂载正确的服务器?
答案1
我刚刚用另一个问题的示例答案回答了这个问题(autofs+sshfs-答案)
记住!Autofs 默认用户是 root。因此请先让 sshfs 以 root 身份运行。
自动主线
注意!使用您自己的 uid 和 gid 并指定您喜欢的挂载点,我使用 /auto/mehtod/address
/auto/sshfs /etc/auto.sshfs uid=1000,gid=1000,--timeout=60,--ghost
auto.sshfs 这比仅仅一个挂载更通用一点
#!/bin/bash
# Shell script that acccepts one argument, namely userid@server
# env >> /tmp/env_check
# whoami >> /tmp/env_check
key=$1
USER='your_local_user_used_for_ssh_identity_file'
REMOTEDEFAULT='default_to_this_user_otherwise_root'
key=${key//[: #]/}
# add user
[[ ! "$key" =~ "@" ]] && key="${REMOTEDEFAULT}@${key}"
case $key in
${REMOTEDEFAULT}@.Trash*)
exit 1;;
*)
(
echo "-fstype=fuse,idmap=user,rw,nodev,nonempty,transform_symlinks,noatime,allow_other,IdentityFile=/home/${USER}/.ssh/id_dsa,max_read=65536\\"
echo -e "\t /uhome :sshfs\#$key\:\\"
echo -e "\t /tmp :sshfs\#$key\:\/tmp\/\\"
echo -e "\t /rootfs :sshfs\#$key\:\/")
esac
## this is a bit more complex. It creates subfolders to autofs-mount/remotename
## /uhome = your remote homedirectory
## /rootfs = remote root '/'
## /tmp = remote tmp # same as /roots/tmp
然后链接到您想要访问的文件夹 ln -s /auto/sshfs/[电子邮件保护]/uhome/ 远程主页