Linux服务器上可以使用sshfs将远程文件系统映射到本地目录。使用起来更方便。
1.sshfs软件安装
Ubuntu
apt-get install sshfs -y
Fedore上安装
yum install fuse-sshfs -y
CentOS上安装
默认源无该工具,需要先安装EPEL源
yum install -y epel-release
yum -y install fuse-sshfs
2.挂载远程目录
如果你远程服务器设置了 key 登陆,那么 sshfs 也可以用这个私钥来实现免密登陆哦。指定证书登陆的参数是: -o IdentityFile=/root/.ssh/id_rsa.pub
完整的挂载命令就是:
sshfs -o allow_other,transform_symlinks -o IdentityFile=/root/.ssh/id_rsa.pub root@192.168.1.100:/data/backups /data/backups
sshfs 完整参数说明
general options:
-o opt,[opt...] mount options
-h --help print help
-V --version print version
SSHFS options:
-p PORT equivalent to '-o port=PORT'
-C equivalent to '-o compression=yes' #启用压缩,建议配上
-F ssh_configfile specifies alternative ssh configuration file #使用非默认的ssh配置文件
-1 equivalent to '-o ssh_protocol=1' #不要用啊
-o reconnect reconnect to server #自动重连
-o delay_connect delay connection to server
-o sshfs_sync synchronous writes
-o no_readahead synchronous reads (no speculative readahead) #提前预读
-o sshfs_debug print some debugging information
-o cache=BOOL enable caching {yes,no} (default: yes) #能缓存目录结构之类的信息
-o cache_timeout=N sets timeout for caches in seconds (default: 20)
-o cache_X_timeout=N sets timeout for {stat,dir,link} cache
-o workaround=LIST colon separated list of workarounds
none no workarounds enabled
all all workarounds enabled
[no]rename fix renaming to existing file (default: off)
[no]nodelaysrv set nodelay tcp flag in sshd (default: off)
[no]truncate fix truncate for old servers (default: off)
[no]buflimit fix buffer fillup bug in server (default: on)
-o idmap=TYPE user/group ID mapping, possible types are: #文件权限uid/gid映射关系
none no translation of the ID space (default)
user only translate UID of connecting user
-o ssh_command=CMD execute CMD instead of 'ssh'
-o ssh_protocol=N ssh protocol to use (default: 2) #肯定要2的
-o sftp_server=SERV path to sftp server or subsystem (default: sftp)
-o directport=PORT directly connect to PORT bypassing ssh
-o transform_symlinks transform absolute symlinks to relative
-o follow_symlinks follow symlinks on the server
-o no_check_root don't check for existence of 'dir' on server
-o password_stdin read password from stdin (only for pam_mount)
-o SSHOPT=VAL ssh options (see man ssh_config)
Module options:
[subdir]
-o subdir=DIR prepend this directory to all paths (mandatory)
-o [no]rellinks transform absolute symlinks to relative
[iconv]
#字符集转换,对我这种UTF8控,默认已经是最好的
-o from_code=CHARSET original encoding of file names (default: UTF-8)
-o to_code=CHARSET new encoding of the file names (default: UTF-8)