本文介绍怎么使用SSHFS安全的挂载一个远程文件系统到本地,在开始之前我们来看看什么是SSHFS。
SSHFS是Secure SHell FileSystem的简写,允许本地机器和远程机器使用SFTP协议沟通。SFTP是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的加密方法(SSH)。SFTP与FTP有着几乎一样的语法和功能。
安装SSHFS客户端
apt-get install sshfs # Debian/Ubuntu
yum install sshfs # CentOS 开启epel仓库
dnf install sshfs # Fedora
brew install sshfs # Mac OS X
挂载一个远程文件系统
1、创建一个挂载点
mkdir /mnt/myserver
2、使用SSHFS挂载远程文件系统
以root用户运行:
sshfs user@x.x.x.x:/home/snail /mnt/myserver
####
sudo sshfs -o allow_other user@x.x.x.x:/home/snail/ /mnt/myserver # Debian/Ubuntu
执行上面命令会提示输入密码,如果你使用ssh密钥登录,指定公共密钥的路径:
sshfs -o IdentityFile=~/.ssh/id_rsa user@x.x.x.x:/home/snail/ /mnt/myserver
####
sudo sshfs -o allow_other,IdentityFile=~/.ssh/id_rsa user@x.x.x.x:/home/snail/ /mnt/myserver # Debian/Ubuntu
3、开机自动挂载远程文件系统(可选)
配置/etc/fstab:
$ sudo vim /etc/fstab
写入:
# 你需要配置本地机器无需密码登录x.x.x.x
sshfs#user@x.x.x.x:/home/snail/ /mnt/myserver fuse.sshfs defaults 0 0
# 或使用ssh key
sshfs#user@x.x.x.x:/home/snail/ /mnt/myserver fuse.sshfs IdentityFile=~/.ssh/id_rsa defaults 0 0
4、使用完成之后卸载远程文件系统
$ sudo umount /mnt/myserver