Linux之远程挂载SSHFS
SSHFS(Secure SHell FileSystem)是一个客户端,可以让我们通过 SSH 文件传输协议(SFTP)挂载远程的文件系统并且在本地机器上和远程的目录和文件进行交互。
SFTP 是一种通过 SSH 协议提供文件访问、文件传输和文件管理功能的安全文件传输协议。因为 SSH 在网络中从一台电脑到另一台电脑传输文件的时候使用数据加密通道,并且 SSHFS 内置在 FUSE(用户空间的文件系统)内核模块,允许任何非特权用户在不修改内核代码的情况下创建他们自己的文件系统。
1.安装SSHFS
# yum install sshfs # dnf install sshfs 【在 Fedora 22+ 发行版上】 # sudo apt-get install sshfs 【基于 Debian/Ubuntu 的系统】
2.创建SSHFS挂载目录
# mkdir /mnt/tecmint
$ sudo mkdir /mnt/tecmint 【基于 Debian/Ubuntu 的系统】
3.挂载
当你已经创建你的挂载点目录之后,现在使用 root 用户运行下面的命令行,在 /mnt/tecmint 目录下挂载远程的文件系统。视你的情况挂载目录可以是任何目录。
下面的命令行将会在本地的 /mnt/tecmint 目录下挂载一个叫远程的一个 /home/tecmint 目录。(不要忘了使用你的 IP 地址和挂载点替换 x.x.x.x)。
# sshfs tecmint@x.x.x.x:/home/tecmint/ /mnt/tecmint
$ sudo sshfs -o allow_other tecmint@x.x.x.x:/home/tecmint/ /mnt/tecmint
【基于 Debian/Ubuntu 的系统】
如果端口不是默认的22,则需要指定端口
-p 22000
$ sudo sshfs -o allow_other -p 22000 tecmint@x.x.x.x:/home/tecmint/ /mnt/tecmint
如果你的 Linux 服务器配置为基于 SSH 密钥授权,那么你将需要使用如下所示的命令行指定你的公共密钥的路径。
# sshfs -o IdentityFile=~/.ssh/id_rsa tecmint@x.x.x.x:/home/tecmint/ /mnt/tecmint
$ sudo sshfs -o allow_other,IdentityFile=~/.ssh/id_rsa tecmint@x.x.x.x:/home/tecmint/ /mnt/tecmint 【基于 Debian/Ubuntu 的系统】
4.验证挂载是否成功
如果你已经成功的运行了上面的命令并且没有任何错误,你将会看到挂载在 /mnt/tecmint 目录下的远程的文件和目录的列表
5.使用df -hT检查挂载点
# df -hT 将会显示远程文件系统的挂载点
6.永久挂载远程文件系统
为了永久的挂载远程的文件系统,你需要修改一个叫 /etc/fstab 的文件。照着做,使用你最喜欢的编辑器打开文件
# vi /etc/fstab
$ sudo vi /etc/fstab 【基于 Debian/Ubuntu 的系统】
移动到文件的底部并且添加下面的一行,保存文件并退出。下面条目表示使用默认的设置挂载远程的文件系统。
sshfs#tecmint@x.x.x.x:/home/tecmint/ /mnt/tecmint fuse.sshfs defaults 0 0
如果你的服务器配置为基于 SSH 密钥的认证方式,请加入如下行:
sshfs#tecmint@x.x.x.x:/home/tecmint/ /mnt/tecmint fuse.sshfs IdentityFile=~/.ssh/id_rsa defaults 0 0
接下来,你需要更新 fstab 文件使修改生效。
# mount -a
$ sudo mount -a 【基于 Debian/Ubuntu 的系统
7.卸载远程的文件系统
# umount /mnt/tecmint
如果想要使用密钥登录:
1.在挂载机上生成密钥对
ssh-keygen -t rsa
2.将公钥复制到服务器上
ssh-copy-id -i ~/.ssh/id_rsa.pub root@xx.xx.xx.xx
3.验证
ssh root@xx.xx.xx.xx

添加开机自自动挂载:
[root@mgr03 ~]# cat /usr/lib/systemd/system/sshfs-diankezk.service
[Unit]
Description=SSHFS MOUNT mgr02 10.0.0.7
After=sshd.service [Service]
Type=forking
ExecStart=/usr/bin/sshfs 10.0.0.7:/data1 /mnt -o reconnect -o cache=yes -o allow_other
ExecStop=/usr/bin/umount /mnt [Install]
WantedBy=multi-user.target
开启:
systemctl enable sshfs-diankezk.service
常见问题:
1.目标服务器升级重启之后, 日志挂载失效
解决方案:
1.卸载之前的挂载
umount file_dir 2. 重新挂载还是错误read: Connection reset by peer
使用调试模式 查看错误信息
sshfs -o reconnect 111.1.11.111:/opt/logs /data/logs -o debug -o sshfs_debug
-o debug
-o sshfs_debug 原来是证书发生了变化 ,需要更新证书 删除老的证书:
ssh-keygen -f "/root/.ssh/known_hosts" -R 111.11.11.111
或者直接在文件中找到该ip地址删除即可 然后使用挂载命令重新挂载即可, 然后重新输入命令
2.安装sshfs报没有可用的安装包
原因: 默认源没有该工具, 需要先安装epel源
yum install -y epel-release yum install -y sshfs #yum -y install fuse-sshfs
Linux之远程挂载SSHFS的更多相关文章
- linux nfs远程挂载和卸载
一.nfs远程挂载 1.首先确定服务端(实体挂载节点)的IP 2.通过cat /etc/hosts 查看服务端的server name 3.mount -t nfs servername:/挂载文件 ...
- Linux上利用NFS实现远程挂载
两台服务器 192.168.1.1 [WEB服务器] 192.168.1.2 [录音服务器] 说明 在192.168.1.2服务器上每天有许多录音文件生成,192.168.1.1作为WEB服务器,里面 ...
- Linux远程挂载目录
Linun远程挂载文件目录 需求:有两台服务器,一个是nginx,一台服务器是weblogic,图片上传到weblogic服务器上,但是需要nginx做代理,可是nginx访问不到weblogic服务 ...
- Linux 阿里云挂载新分区
阿里云服务器可以自己购买数据盘并挂载使用,虽然官方也提供了挂载的教程,但是还是有些朋友不清楚其中的细节,为此,我在这里来给大家分享一下详细的挂载办法. 工具/原料 已经购买开通阿里云服务器,并且在开通 ...
- linux系统usb挂载
本次例程的环境是在FC6下,通过终端操作的. 注意要挂载U盘需要有管理员的权限. 切换成管理员,输入: su root 然后输入管理员密码,进行密码认证: 成功后,先在 /mnt 下建立一个名叫USB ...
- Linux下磁盘挂载
公司硬盘不够用了,新买了一个存储,需要挂载到现在的系统上.前期的步骤就不说了,运维全部搞定,无非是硬件和网络那一套,这里只说分配到本人后在Linux下如何挂载. 具体步骤如下: 1.查看是否已经分配 ...
- 在linux终端远程登陆linux服务器
在linux终端远程登陆linux服务器 原来在Linux终端远程登陆linux服务器是那么的容易,如果的服务器用户名是abc(也可以是root),只需要在终端输入: 然后电脑会提示输入密码就登录 ...
- 如何通过linux ssh远程linux不用输入密码登入
如何通过一台linux ssh远程其他linux服务器时,不要输入密码,可以自动登入.提高远程效率,不用记忆各台服务器的密码. 工具/原料 ssh,ssh-keygen,scp 方法/步骤 首 ...
- linux下的挂载点和分区是什么关系
Linux 使用字母和数字的组合来指代磁盘分区.这可能有些使人迷惑不解,特别是如果你以前使用“C 驱动器”这种方法来指代硬盘及它们的分区.在 DOS/Windows 的世界里,分区是用下列方法命名的: ...
- Linux scp 远程文件/目录传输
Linux scp远程文件/目录传输 1.获取远程服务器上的文件 scp -P 22 root@www.test.com:/root/test.tar.gz /home/test.tar.gz 上端口 ...
随机推荐
- 原生JavaScript实现可旋转立方体效果基础示例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Angular Material 18+ 高级教程 – CDK Drag and Drop
前言 CDK Drag and Drop 和 CDK Scrolling 都是在 Angular Material v7 中推出的. 它们有一个巧妙的共同点,那就是与 Material Design ...
- 均值回归策略在A股ETF市场获利的可能性
如何在股票市场获利 曾经有人告诉我一个在股票市场赚钱的秘诀,只要掌握这个秘诀,赚钱就像捡钱一样容易.他说:这个秘诀其实很简单,就是在股票价格低的时候买入,在价格高的时候卖出. 啧啧,不愧是秘诀,明明是 ...
- markdown公式关系符
- 深入理解 Nuxt.js 中的 app:error:cleared 钩子
title: 深入理解 Nuxt.js 中的 app:error:cleared 钩子 date: 2024/9/28 updated: 2024/9/28 author: cmdragon exce ...
- ajax发送 put和delete请求
AJAX发送 PUT和DELETE请求(转载) 转自:https://blog.csdn.net/liuyuanjiang109/article/details/78972644 ajax使用r ...
- Nuxt.js 应用中的 ready 事件钩子详解
title: Nuxt.js 应用中的 ready 事件钩子详解 date: 2024/10/12 updated: 2024/10/12 author: cmdragon excerpt: read ...
- KubeSphere 社区双周报 | Java functions framework 支持 SkyWalking | 2023.8.4-8.17
KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书.新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列 ...
- python之图片与视频互转
图片转视频 def image_to_video(image_dir, video_dir, fps): im_list = [i for i in os.listdir(image_dir) if ...
- java基础语法(从0开始到java方法)
文章目录 1.第一个java程序 2.数据的表示详解 2.1 整数在计算机中的存储原理 2.2 字符在计算机中的存储原理 2.3 图片视频声音的存储原理 2.4 数据的其他表示形式 2.5 不同进制在 ...