Centos安装sshfs实现挂载目录

SSH 是一个强大且安全的工具,我们除了可以用它来远程管理主机外,还可以通过它建立 SSH tunnel作 Proxy用,远程传输文件等等。而这里我想要介绍另外一个功能,那就是结合 sshfs 这个工具可以把远程主机的文件系统映射到本地主机上,透过 SSH 把远程文件系统挂载到本机上,这样我们可以不必使用 scp 工具就可以做到直接复制及删除远程主机的文件了,就像操作本地磁盘一样方便。

SSHFS最炫的地方在于可在本地安装的文件系统中,通过SSH获得所有加密的通信优势。sshfs 是基于 FUSE 构建的 SSH 文件系统客户端程序,通过它远程主机的配置无需作任何改变,就可以透过 SSH 协议来挂载远程文件系统了,非常方便及安全。

Github地址:https://github.com/libfuse/sshfs


一、安装EPEL扩展源

[root@tokyo /]# rpm -Uvh http://ftp.iij.ad.jp/pub/linux/centos/7/extras/x86_64/Packages/epel-release-7-9.noarch.rpm

二、清理YUM缓存

[root@tokyo /]# yum clean all

三、使用YUM安装SSHFS

[root@tokyo /]#  yum install fuse-sshfs 

四、挂载远程目录 1.挂载服务器8.8.8.8上面的/data/tmp目录到本机的/tmp目录下,使用-o指定参数,port=ssh的端口号。

[root@tokyo /]#  sshfs -o port=2200 root@8.8.8.8:/data/tmp /tmp
root@8.8.8.8's password:

2.查看挂载结果

[root@tokyo /]# df -h  
Filesystem                        Size  Used Avail Use% Mounted on
devtmpfs                          993M     0  993M   0% /dev
tmpfs                            1000M     0 1000M   0% /dev/shm
tmpfs                            1000M  8.5M  991M   1% /run
tmpfs                            1000M     0 1000M   0% /sys/fs/cgroup
/dev/sda1                          30G  6.2G   22G  23% /
tmpfs                             200M     0  200M   0% /run/user/0
root@8.8.8.8:/data/tmp   30G  5.6G   23G  20% /tmp

五、卸载远程目录 卸载的方式和mount的方式一样,都是使用umount。(我查到的资料有用到fusermount -u mount_point)

[root@tokyo /]#  umount /tmp 

六、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'   # 指定ssh连接端口
    -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)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PHP实战技术

论linux下计划任务

小伙伴们,平时做程序开发的时候,是否也曾为实现一个商城网站或者一个小程序自动执行某个方法而苦恼呢? 今天思梦php就给大家带了这...

35890
来自专栏性能与架构

体验 MySQL InnoDB Cluster

Mysql高可用环境的搭建比较麻烦,这使很多人都不去搭建高可用环境,等到有问题时再说 最近Mysql的动作很快,新版本的发布频繁,推出很多新的好用功能及插件,其...

89680
来自专栏破晓之歌

谷歌插件-Tampermonkey 原

它包含:方便的脚本管理、脚本概览、设置多样性、脚本自动更新、安全、兼容性、Chrome 同步、CodeMirror 编辑器、JSHint 语法检查、快速开发...

74010
来自专栏Java学习网

spring在ssh框架中的作用学习

spring在ssh框架中的作用学习 在SSH框假中spring充当了管理容器的角色。我们都知道Hibernate用来做持久层,因为它将JDBC做...

25590
来自专栏云知识学习

LVM 详细介绍

LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻...

535210
来自专栏菩提树下的杨过

spring cloud 学习(5) - config server

 分布式环境下的统一配置框架,已经有不少了,比如百度的disconf,阿里的diamand。今天来看下spring cloud对应的解决方案: ? 如上图,从架...

274100
来自专栏散尽浮华

Gitblit版本服务器环境部署记录

Gitblit介绍 Gitblit 是一个纯 Java 库用来管理、查看和处理 Git 资料库.相当于 Git 的 Java 管理工具,支持linux系统。 G...

38150
来自专栏SpringBoot 核心技术

SpringCloud组件:Eureka的服务发现与消费

在之前的章节我们已经把服务注册到Eureka Server,那么我们该怎么调用已经注册后的服务呢? 我们本章来简单的介绍我们具体该怎么调用服务节点请求内容。

29210
来自专栏zhangdd.com

Zabbix监控-使用JMX功能监控tomcat安装配置

zabbix2.0添加了支持用于监控JMX应用程序的服务进程,称为“Zabbix-Javagateway”;它是用java写的一个程序。

15340
来自专栏mini188

Apache Ignite之集群应用测试

在Ignite中的集群号称是无中心的,而且支持命令行启动和嵌入应用启动,所以按理说很简单。而且集群有自动发现机制感觉对于懒人开发来说太好了,抱着试一试的心态测试...

12100

扫码关注云+社区

领取腾讯云代金券