linux开机自动挂载远程主机文件目录

2015-08-18 02:15

分享人:老牛

可以是远程到本地

也可以是两台远程之间

甚至一挂多

其他用途:

网站附件服务器空间不够用了,能否直接挂载另一台的存储附件文件夹到这里呢?然后让nginx判断,在目标文件内没找到(通过404)查找另一个挂载的文件夹。。。

sshfs简介:

一种通过SSH协议访问远程文件系统的用户空间文件系统。可以把远程主机上的文件系统挂载到本地使用。由于使用ssh协议连接,安全上有保障,使用起来也很方便。

Sshfs的实现依靠于linux内核模块fuse对用户空间文件系统的支持。关于fuse,详解参考维基百科这里的说明http://zh.wikipedia.org/wiki/FUSE。

优势:

不用把远程文件手动复制一份到本地修改:

修改远程文件我们可以用ftp、scp、sftp把这些远程文件拉取到本地对其进行修改再上传回去,但是这样就显得很麻烦了。Sshfs在这方面就显得很方便了,只要你有能ssh到该远程主机的ssh帐号就能把远程主机上文件系统挂载到本地,然后像操作本地文件和目录那样方便操作它们,期间所作的修改会自动保存到远程对应的目录及文件。

安全性好

Sshfs使用ssh协议连接,而对ssh协议的安全性可以参考这里http://zh.wikipedia.org/wiki/Secure_Shell。

安装准备:

1、Sshfs基于SSH协议 ,所以首先你本地以及远程主机上要安装有实现SSH协议的openssh或SSH Communications 软件,ssh协议看这里http://www.programfish.com/blog/?p=124。

2、你的本地Linux发行版内要安装有fuse模块,因为sshfs需要fuse模块的支持。查看你的系统有没有这个模块请使用如下命令:

lsmod | grep fuse

如果没有输出则没有这个模块。

以上条件都满足后就变得很简单了,只需要在本地系统上安装sshfs,而在很多发行版都能在自己的源里找到这个包,直接用apt-get install sshfs、zypper install sshfs,如果源里没有这个包可以到github这里下载源码编译安装https://github.com/osxfuse/sshfs。

挂载:

在A创建一个目录比如:

mkdir  /mnt/remote

然后挂载远程主机B上的某目录到刚创建的目录:

(比如我要挂载111.111.111.111这台远程主机上的/home目录到本地的/mnt/remote目录)

sshfs  -o  allow_other  user@111.111.111.111:/home  /mnt/remote

-o allow_other 选项是指挂载后/mnt/remote能被你所在系统上的其它用户访问。(更多选项请:man sshfs)

执行这个命令后输入密码然后cd 到/mnt/remote目录下就可以在里面看到远程主机上/home目录的内容,操作就像操作本地目录和文件一样就可以了。

卸载:

使用命令:

(/mnt/remote为你的挂载点)

fusermount -u /mnt/remote

开机自动挂载远程主机文件

上面的操作是针对开机之后的,如果想要开机自动挂载该远程文件系统,需要做两步操作。

在 /etc/fstab 添加挂载项(这里以上面例子为例):

sshfs#user@111.111.111.111:/home  /mnt/remote  fuse  defaults,auto,allow_other  0  0

设置ssh无密码登陆远程主机

-----------------------------------

public key认证(免密码认证、且安全系数高)

先在A创建一对密钥(公钥和私钥),并把公匙放在需要访问的B服务器上;

客户端向远程服务器发出请求用你的公钥认证;

服务器收到请求之后,在本地找出你的公钥,然后把它和你发送过来的公钥进行比较。若两密匙一致,服务器就用公匙加密“质询”(challenge)并把它发送给客户端软件;

客户端软件收到“质询”之后就可以用私钥解密后再把它发送给服务器。

这种方式不需要在网络上传送口令,但你要记住密钥的口令(在创建密钥时记住设置)。

public key认证可以有效避免“中间人”攻击。

创建密钥:(公钥加密算法有rsa和dsa两种可选)

ssh-keygen -t rsa

这里指定rsa公钥加密算法

回车后ssh会询问你密钥要存放的位置回车默认为~/.ssh/id_rsa

然后又要求输入密钥的口令,回车默认为空口令。

成功后可以看到.ssh文件夹下多了两个文件:id_rsa 和id_rsa.pub

方法1、scp复制上传

确定远程主机家目录里有没有.ssh这个目录

如果没有则先远程登陆并手动创建并设置权限为755

mkdir .ssh;chmod 755 .ssh

用scp复制或者上传公钥(id_rsa.pub)到远程主机目录下并重命名为authorized_keys文件:

scp id_rsa.pub

authorized_keys

输入密码后则可完成。之后远程连接即可不用输入密码,如果要求输入密码,说明还没成功:此时要检查远程主机家目录上.ssh目录权限应该要为700以及.ssh目录下的authorized_keys文件权限应该要为644。

方法2、用ssh-copy-id命令

ssh-copy-id -i ~/.ssh/id_rsa.pub home@192.168.56.101

这里是要复制到192.168.56.101的home的家目录上,权限会自动设置,很方便。

方法1如果需要多台主机无密码访问该远程主机(即要多次添加不同的id_rsa.pub到authorized_keys文件)不可行,因为每次用scp上传会覆盖原有的内容。

用方法2则会自动在authorized_keys文件结尾添加而非覆盖,所以更方便。

----------------------------------------------

非安全模式,但很简单,也可以结合bash脚本添加开机执行实现自动挂载

使用别名认证(免去记远程ip的麻烦)

在~/.ssh下的config文件(没有则创建)里加入如下格式的内容:

Host  host1

HostName  172.17.0.3

User  xiaohost

这样的话我就把上面我的远程主机设置了一个别名为host1

下次就可以这样连接到该主机:

ssh host

上面的命令等价于:

ssh xiaohost@172.17.0.3

如果要设置多个远程主机的别名,则添加多个以上的三行为一组的内容进config文件即可。

linux 远程挂载目录,linux开机自动挂载远程主机文件目录相关推荐

  1. 【Linux】 NFS服务器实现开机自动挂载

    文章目录 NFS服务介绍 NFS存储服务作用 安装NFS: 1) yum安装nfs 2) 配置文件位置 3) 启动NFS服务 使用方法 1) 创建共享目录 2) 设置配置文件并查看 3) 客户端测试 ...

  2. 磁盘管理(挂载硬盘到不同目录并开机自动挂载)

    前言:在实际的生产环境中,由于服务器的长期工作可能会带来巨大的数据缓存,在不影响正常业务的运行下我们扩展存储,增加新磁盘以缓解海量数据数据存储为服务器带来的压力. 首先我们要知道,硬盘挂载必须要依靠目 ...

  3. Centos挂载新硬盘开机自动挂载

    Linux的硬盘识别: sda        表示第1块SCSI硬盘 hda       表示第1块IDE硬盘 scd0      表示第1个USB光驱 一般使用"fdisk -l" ...

  4. 【NFS共享客户端挂载】NFS开机自动挂载方法

    一.存储环境信息 1.NFS存储共享名:/HW_Email 2.NAS业务IP地址:192.168.3.11 3.服务器操作系统版本:Centos7.6 二.挂载NFS共享 1.登录服务器操作系统后执 ...

  5. mysql自动挂载存储_Linux开机自动挂载存储

    今天有个系统的开发人员跟我说,他们测试系统出现问题重启了服务器后就发现找不到存储了. 唉,不用说了.肯定没有自动加载存储呗.一个堂堂的技术顾问,一天4-5K工资的人连这个操作都不会啊?忍了... 登录 ...

  6. linux远程建立目录,linux远程创建文件夹 linux 远程复制文件及文件夹

    linuxscp远程拷贝文件及文件夹,需要的朋友可以参考下 1.拷贝本机/home/administrator/test整个目录至远程主机192.168.1.100的/root目录下 复制代码代码如下 ...

  7. linux自动挂载文件修复,Linux文件系统管理 开机自动挂载及fstab文件修复

    概述 开机自动挂载及fstab文件修复 开机自动挂载 实现开机后自动挂载,就需要修改系统的自动挂载文件 /etc/fstab.因为系统就是依赖这个文件决定启动时加载的文件系统的. 通过vi 打开/et ...

  8. Ubuntu开机自动挂载SD卡到指定挂载点并将Docker默认存储路径改为SD卡

    Ubuntu开机自动挂载SD卡到指定挂载点并将Docker默认存储路径改为SD卡 查看磁盘信息 查看磁盘原挂载点 永久开机自动挂载分区--修改文件/etc/fstab 应用挂载 修改docker默认存 ...

  9. centos挂载硬盘(centos挂载硬盘启动时自动挂载)

    centos怎么挂载2t以上硬盘 使用gpt分区就可以支持2T以上的硬盘看到了你的提问...其实我还没遇到这种情况...所以回不了... 你可以考虑上linuxquestions.org这个网站去提问 ...

最新文章

  1. 编译一个内核及分区格式化
  2. 第十五届全国大学生智能车东北赛区成绩
  3. bugfree3.0.2版本升级--更新版
  4. Codeforces Round #515 (Div. 3)【未完结】
  5. Python中@staticmethod和@classmethod的作用和区别
  6. ASP.NET GetPostBackEventReference
  7. ng serve出错,关于TypeScript的版本问题
  8. csv导入mysql phpmyadmin_【转】从phpMyAdmin批量导入Excel内容到MySQL(亲测非常简洁有效)...
  9. 95-30-017-Channel-NioServerSocketChannel
  10. 平房误差函数_平方误差函数(square error function)与平方损失函数(square loss function)...
  11. 银河麒麟安装node
  12. OpenCV python 绘制椭圆形
  13. Android关闭屏幕时不锁屏
  14. MDK配置jlink仿真器步骤
  15. linux 下的lsb_release -a 命令查询系统版本
  16. 适合520发朋友圈的文案句子精选
  17. 输入一个大写英文字母,输出小写英文字母;输入一个小写英文字母输出一个大写英文字母
  18. JAVA日期格式化常用格式对照表
  19. 如何绘制神经网络结构图,如何设计神经网络结构
  20. Hystrix Dashboard

热门文章

  1. 【Git】如何修改本地仓库的用户名和邮箱
  2. python查询和替换一个文本字符串_【Python】python面试题
  3. KNN 在手写识别中的应用(Java 实现)
  4. substr函数c语言实现,substr是什么函数?怎么用
  5. Kubernetes CSI(一):介绍
  6. java代码中实现excel表下载
  7. 计算机硬盘read,电脑硬盘一直吱吱的响的解决办法
  8. 计算机组成与设计 硬件/软件接口 Risc-v 版
  9. GBase 8a MPP Cluster 维护-日志篇
  10. 什么是BFC?BFC的功能及其使用?