ubuntu18搭建SFTP服务器
参考网址
https://mp.weixin.qq.com/s/2OvA_-x_Z6VKyjVuI5FJww
1)查看openssh的版本
命令:ssh-v
图片
版本必须大于4.8p1,低于这个版本需要升级
2)创建sftp组
命令:groupadd sftp (在root权限下)
3)创建一个sftp用户,用户名为mysftp,密码为mysftp
命令:
useradd -g sftp -s /bin/false mysftp ##创建mysftp用户
passwd mysftp ##设置密码
图片
出现:
passswd all authentication tokens updated successfully
说明成功
4)为sftp组用户设置统一home目录
命令:
mkdir -p /data/sftp/mysftp
usermod -d /data/sftp/mysftp mysftp
图片
5)配置sshd_config
使用文本编辑器打开
命令:
vi etc/ssh/sshd_config
会进入到如下页面
图片
直接拉到最下面,找到如下这行,用#注释掉
#Subsystem sftp /usr/libexec/openssh/sftp-server
在文件最后面添加如下几行内容,然后保存(键盘 i 进行写入操作,写完,esc保存后,切换大写状态敲两下Z即可保存退出)
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /data/sftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
图片
6)设定Chroot目录权限
命令:
chown root:sftp /data/sftp/mysftp
chmod 755 /data/sftp/mysftp
7)建立sftp用户登入后可写入的目录
命令:
mkdir /data/sftp/mysftp/upload
chown mysftp:sftp /data/sftp/mysftp/upload
chmod 755 /data/sftp/mysftp/upload
8)修改/etc/selinux/config
文本编辑器打开/etc/selinux/config
命令:
vi /etc/selinux/config
图片
这里尤其注意,我第一次sftp服务起不来就是因为没有改这里,找了好半天资料!
保存后输入命令:setenforce 0
9)重启sshd服务
命令:
service sshd restart
图片
10)验证sftp环境
用mysftp用户名登录,yes确定,回车输入密码
命令:sftp mysftp@192.168.42.133
@后是你虚拟机的ip地址(不知道的可以输入命令ifconfig查询)