活到老学到老  

记录遇到问题的点点滴滴。

Centos sshfs的安装和使用--将远程sftp目录映射到本地目录

7年前发布  · 1453 次阅读
  sshfs  fuse-sshfs 

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)