在windows下能夠局域網共享,mount能夠在本地掛載磁盤,也能夠掛載局域網的網絡共享。但有沒有想過遠程主機的目錄掛載到本地主機中(非局域網)。以前瞭解windows有winscp軟件,很方便的在兩個系統之間上傳和下載數據,但如今有了sshfs,用遠程主要的資源和本地沒有什麼區別,太方便了。linux
(1) 遠程服務器安裝ssh
## centos sudo yum install openssh openssh-server ## deepin sudo apt install ssh openssh-server
(2) 本地主機安裝 sshfs
## deepin sudo apt install ssh sshfs
本地主機是centos一下子再說,由於在測試中發現一些問題。windows
(3) 掛載
sshfs -p port root@ip:/path
好比:遠程服務器:centos
- 目錄: /mnt/software
- ip:122.141.78.230
- 端口號:2222
我想要掛載到本機/mnt/remote目錄中。服務器
sudo mkdir /mnt/remote sudo sshfs -p 2222 root@122.141.78.230:/mnt/software /mnt/remote
(4) 卸載
umount /mnt/remote
(5) CentOS主機掛載遠程目錄
我測試的機器是CentOS6.5 安裝時發現sshfs不在軟件源中,須要添加epel源:網絡
yum install epel-release yum -y install fuse-sshfs
也能夠手動下載安裝:ssh
CentOS7:測試
wget http://ftp.tu-chemnitz.de/pub/linux/dag/redhat/el7/en/x86_64/rpmforge/RPMS/fuse-sshfs-2.5-1.el7.rf.x86_64.rpm
CentOS6:spa
wget http://ftp.tu-chemnitz.de/pub/linux/dag/redhat/el6/en/x86_64/rpmforge/RPMS/fuse-sshfs-2.5-1.el6.rf.x86_64.rpm
以後進行安裝code
rpm -ivh fuse-sshfs-2.5-1.el6.rf.x86_64.rpm
在鏈接的時候出現錯誤提示:server
sudo sshfs -p 2222 root@122.141.78.230:/mnt/software /mnt/remote read: connection reset by peer
查了一下網絡的各類解決方案:
- 服務器防火牆限定,
- 是否達到ssh的最大鏈接數,超過以後會服務器端會拒絕新的鏈接,直到有新的鏈接釋放出來
- /etc/hosts.allow和/etc/hosts.deny配置文件限定ip登陸
沒發現什麼問題,後來運行ssh看看能不能連上,發現沒有這個命令。 安裝一下:
sudo yum install openssh
提示已經安裝,最終解決:
sudo yum install openssh-clients
看來不一樣的發行版本之間仍是有差別的。
當掛載完成以後,發現訪問不了(非管理員用戶)。只能經過root訪問,加上allow_other選項便可:
sudo sshfs -p 2222 -o allow_other root@122.141.78.230:/mnt/software /mnt/remote