Linux服务器下搭建SFTP服务

我租了一个3A服务器,我把我的方法教给你们,有问题可以后台私信我

SFTP是基于默认的22端口,是ssh内含的协议,只要启动了sshd就可以使用。sftp采用的是ssh加密隧道,安装性方面较ftp强,而且依赖的是系统自带的ssh服务

本次使用liunx自带的internal-sftp

1、创建用户并设置密码

useradd -s /bin/false sftpuser

passwd sftpuser

2、修改/etc/ssh/sshd_config配置文件

#注释掉下面这行

#Subsystem sftp /usr/libexec/openssh/sftp-server

同时添加以下内容:

Subsystem sftp internal-sftp  #指定使用sftp服务使用系统自带的internal-sftp

Match user  sftpuser        #匹配用户,如果要匹配多个组,多个组之间用逗号分割

ChrootDirectory  /data/sftp   #设定属于用户组sftp的用户访问的根文件夹如设置    /data/sftp   作为sftpuser        的sftp根目录

ForceCommand internal-sftp #指定sftp命令,强制执行内部sftp,并忽略任何    ~/.ssh/rc文件中的命令

X11Forwarding no   #这两行,如果不希望该用户能使用端口转发的话就加    上,否则删掉

AllowTcpForwarding no

3、关闭selinux

修改/etc/sysconfig/selinux配置文件

将文件中的SELINUX=enforcing 修改为 SELINUX=disabled

然后执行以下命令

setenforce 0  (// 0是关闭,1是开启 )

4、重启sshdfuwu

systemctl restart sshd 或systemctl restart sshd.service        #重启sshd

systemctl status sshd.service                                                #查询sshd启动状态

5、权限赋予

修改sftp-users用户组用户目录权限

因为使用了ChrootDirectory /data/sftp 作为sftpuser的sftp根目录,现在来修改权限

ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;

ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,也就是说权限最大设置只能是755

由于/data/sftpuser 是root创建的,权限755,如果sftpuser直接sftp过去是没有权限写入,因此,需要/data/sftp下创建新目录并给与qhlh权限

创建文件夹:

mkdir /data/sftp/wly

权限赋予

chown sftpuser:sftpuser /data/sftp/wly 将目录给用户

chmod 755 /data/sftp/wly  #权限也只能是755,否则无法限制目录

6、测试验证

使用Sftp sftpuser@192.168.31.49或使用filezilla客户端连接到sftp服务器

使用filezilla客户端连接到sftp服务器上传一份文件验证:





7、异常问题:

 当原本sftp运行一段时间后突然不行报如下错误

 


并且服务器也连接不上sftp



工具报错:无法初始化sftp协议,主机是sftp服务器吗?

很大原因是password aged、密码老化、有效期已经失效导致会话失败!

sftp默认密码有效期是30天

解决方案如下:

1、直接用命令修改用户密码有效期:chage -M 99999 username--sftp用户名

2、修改/etc/shadow文件:

3、修改/etc/login.defs文件:

(注:login.defs文件参数只对创建普通用户生效,对root用户无效。shadow文件比login.defs文件优先级要高!)

 

全部评论
学习中找到感兴趣的事情
点赞 回复 分享
发布于 2022-09-14 16:40 河南

相关推荐

吐泡泡的咸鱼:我也工作了几年了,也陆陆续续面试过不少人,就简历来说,第一眼学历不太够,你只能靠你的实习或者论文或者项目经历,然后你没有论文,没有含金量高的比赛和奖项,只能看实习和项目,实习来说,你写的实习经历完全不清楚你想找什么工作?行研?数据分析?且写的太少了,再看项目,这些项目先不说上过大学读过研究生的都知道很水,然后对你想找的岗位有什么帮助呢?项目和实习也完全不匹配啊,你好像在努力将你所有的经历都放在简历里想表现你的优秀,但是对于你想找的岗位来说,有什么用呢?最后只能获得岗位不匹配的评价。所以你需要明白你想要找的岗位要求是什么,是做什么的,比如产品经理,然后再看你的经历里有什么匹配的上这个岗位,或者对这个岗位以及这个岗位所在的公司有价值,再写到你的简历上
点赞 评论 收藏
分享
AAA专业长城贴瓷砖刘大爷:这样的简历我会直接丢进垃圾桶,花里胡哨的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务