一、root用户进行普通挂载
1.1、安装epel源
yum -y install epel-release
1.2、安装sshfs
yum -y instll sshfs
1.3、配置挂载
sshfs -p 22 root@10.163.1.137:/home/sftpdata /app1
1.4、取消挂载
# umount掉载点即可
umount /app1
1.5、注意事项
挂载在重启后失效
一般来说,linux系统都默认安装了sftp,挂载期间基本不用考虑sftp服务
windows下可使用其他第三方软件开启sftp服务,或通过smb进行挂载 
二、安全挂载
目的:通常SFTP的任何用户登录之后能看到整个系统的文件目录,这样很不安全。
通过chroot我们可以将某个用户登录SFTP后只能在某个限定的目录下操作,这样可以更安全。
2.1、创建一个用于SFTP登录的用户
useradd sftpuser
2.2、给该用户设置一个密码
passwd sftpuser
2.3、禁止该用户登录SSH
# 因为我们只想该用户使用SFTP,并不需要该用户能登录SSH
vim /etc/passwd
# 将sftpuser的shell改成/bin/false
2.4、设置sshd\_config
vim /etc/ssh/sshd_config
# Subsystem sftp /usr/libexec/openssh/sftp-server 找到这一行注释掉,新增以下内容
Subsystem sftp internal-sftp
Match user sftpuser
ForceCommand internal-sftp
ChrootDirectory /home/sftpdata
将 上面的 /home/sftpdata 目录替换成你需要限定的实际目录,请注意该目录的用户属主必须是root,并且该目录的上级的每一级目录的属主也必须是root。如果上级目录不可以设置成root,那可以通过建立符号链接 ln -s 来变相实现。
chown root\:sftpuser /home/sftpdata
多个用户请重复配置这三行:
Match user sftpuser2
ForceCommand internal-sftp
ChrootDirectory /home/sftpdata2
2.5、重新启动sshd服务
systemctl restart sshd
2.6、开始挂载
sshfs -p 22 sftpuser@10.163.1.137: /app1
sftpuser@10.163.1.137's password:
[root@host ~]# df -TH
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 8.6G 1.7G 7.0G 20% /
devtmpfs devtmpfs 2.1G 0 2.1G 0% /dev
tmpfs tmpfs 2.1G 0 2.1G 0% /dev/shm
tmpfs tmpfs 2.1G 8.9M 2.1G 1% /run
tmpfs tmpfs 2.1G 0 2.1G 0% /sys/fs/cgroup
/dev/sda1 xfs 1.1G 203M 861M 20% /boot
tmpfs tmpfs 415M 0 415M 0% /run/user/0
sftpuser@10.163.1.137: fuse.sshfs 8.6G 1.6G 7.1G 19% /app1
# 但此时还不能写文件,需要给被挂载文件夹赋予权限
[root@host app1]# mkdir 123
mkdir: cannot create directory ‘123’: Permission denied
# 给被挂载文件夹赋予权限
[root@server ~]# chmod 775 /home/sftpdata/
# 此时就可以写文件
[root@host app1]# rz
rz waiting to receive.
zmodem trl+C ȡ
正在传输 SecureCRTPortable.exe...
100% 133 KB 133 KB/ 00:00:01 0
# 但取消挂载或重启电脑后再重新挂载会失败
[root@host ~]# umount /app1
[root@host ~]# sshfs -p 22 sftpuser@10.163.1.137: /app1
sftpuser@10.163.1.137's password:
read: Connection reset by peer
# 需要将被挂载点的文件夹权限改回,才可以重新挂载
[root@server ~]# chmod 755 /home/sftpdata/
2.7、测试ssh连接
[root@host ~]# ssh sftpuser@10.163.1.137
sftpuser@10.163.1.137's password:
This service allows sftp connections only.
Connection to 10.163.1.137 closed.