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