NFS与SSH
Posted 生如夏花和秋叶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NFS与SSH相关的知识,希望对你有一定的参考价值。
(一)NFS
NFS----Network File System,网络文件系统:通过网络让不同的机器不同的系统能够彼此分享数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统之间实现磁盘文件共享的一种方法。基于RPC协议。
NFS是一种文件存储,可以打开修改保存,相对于块存储(裸盘)和对象存储(如网盘,作为一个对象只能上传下载不能在网盘上修改)
1.NFS安装设置步骤-------服务端:
(1)安装(服务端客户端都要安装):
--------yum install rpcbind nfs-utils -y (安装2个包,先安装rpcbind包,nfs是基于这个包的,然后安装nfs-utils包)
(2)修改配置文件:
a.先建share目录,磁盘共享的位置或路径,并构建共享数据
-----mkdir /share -----touch /share/a.txt -----echo ‘gongxiang‘ >a.txt (最好给share单独挂载一个硬盘(mount /dev/sdb /share),专门存放共享数据)
b.改配置文件:
-----vim /etc/exports
写入: /share +服务端IP地址(rw,sync,fsid=0) (rm,软件级别的读写权限,sync表示同步)
如:/share 192.168.72.0/24(rw,sync,fsid=0) ip中0/24表示全段
(3)给共享文件操作系统级别的权限
-----chmod -R o+w /share/ (-R 递归地给权限)
(4)启动服务(先启动RPC再启动NFS):
-----systemtcl start rpcbind.service
-----systemctl start nfs.service
设置为开机启动:
-----systemtcl enable rpcbind.service
-----systemctl enable nfs.service
(5)确认nfs是否启动成功:
-----rpcbind (显示rpcbind信息)
-----exports (查看共享信息)
/share 192.168.72.0/24
2.NFS安装设置步骤-------客户端:
(1)安装
--------yum install rpcbind nfs-utils -y
(2)开启
-----systemtcl start rpcbind.service
-----systemctl start nfs.service
设置为开机启动:
-----systemtcl enable rpcbind.service
-----systemctl enable nfs.service
(3)检查NFS服务端是否有共享目录:
-----showmount -e +NFS服务器ip (如-----showmount -e 192.168.72.129)
显示: /share 192.168.72.0/24
(4)将服务端共享磁盘目录挂载到本地目录下 (NFS远程同步数据的关键一步)
-----mount -t nfs 192.168.72.129:/share /usr/share/nginx/html/
在本地目录下就可以看到服务端/share下的内容,并可以改动
nginx的反向代理服务器与bfs服务器是同一个机器时:这样配置/etc/nginx/nginx.conf (将默认的root根设为/shere)
http{
upstream pythonweb {
serve 192.168.72.130;
serve 192.168.72.131;
serve 192.168.72.132;
server {
root /share
}
location / {
proxy_pass http://pythonweb
}
(二)SSH服务
Secure Shell的缩写。建立在应用层上的安全协议。目前较可靠,专为远程登陆会话服务和远程其他操作服务提供安全性的协议;2台机器都开启了sshd服务,可以互联;sshd默认端口号为22号端口。
从客户端来说,SSH提供两种级别的安全验证:基于口令的安全验证和基于密钥的安全验证;
1.sshd的安装:默认已安装,默认已开启
------systemctl status sshd 检查是否开启sshd服务
2.本机远程登陆对方机器(需知道对方账户名和密码):
-----ssh +对方IP地址 (建立远程连接)
如:-----ssh 192.168.72.131
------然后输入对方账户的密码
3.将本地文件复制到对方本地路径下 scp
-----scp + 本地文件路径 + 对方电脑IP:/对方本地路径
如: -----scp /etc/hosts 192.168.16.151:/temp
如果本地域名中有对方网址的域名解析,如pythonweb 192.168.16.151,也可以这样写
-----scp /etc/hosts python web:/temp
4.上面的3可以说是吧本地路径文件上传到远程路径文件,我们也可以在本地主机上从远程路径上下载文件到本地:
-----scp + 对方电脑IP:/对方本地路径 + 本地文件路径
如:-----scp 192.168.16.151:/temp /etc/hosts
5.基于口令的验证每次都要输入口令,比较麻烦,我们来看一下在当前是客户端情况下SSH基于密钥的操作,在终端进行如下操作:
(1)建立钥匙和锁子
------ssh-keygen (key是钥匙,gen是加密的意思)
------一路敲回车
钥匙和锁子已建立,在/root/.ssh/下
-----ls /root/.ssh
id_rsa (钥匙) id_ras.pub (锁)
(2)把锁子发到服务端就可以了
-----ssh-copy-id -i 服务端IP
如: -----ssh-copy-id -i 192.168.72.133
发了之后再服务端/root/.ssh下 就会有个authorized_keys文件,也就是客户端的id_rsa.pub在服务端/root/.ssh被重命名为authorized_keys。
6.SSH服务的配置文件
/etc/ssh/sshd_config
里面的port 22 默认端口可以改,比如改成8888了(改后把客户端服务端/root/.ssh里的文件删除),SSH服务操作就变成了:
-----ssh-keygen
-----ssh-copy-id -i id_rsa.pub 192.168.72.133 -p 8888 (id_rsa.pub指定文件类型,-p端口号)
在操作第二步之前可以看下有没有8888这个端口:
-----systemctl restart sshd
-----netstate -an | grep 8888
以上是关于NFS与SSH的主要内容,如果未能解决你的问题,请参考以下文章
使用 SSH 和 NFS 在集群上进行并行化的最简单方法是啥?
共享 NFS 主目录上的无密码 ssh 不起作用(centos 7)[关闭]
Heartbeat+Haresources+NFS配置一个简单的HA高可用+资源共享集群