老伙计们我前阵子刚帮三个创业的小兄弟踩完服务器SFTP配置的坑,三个纯纯技术小白,连Linux命令都认不全,跟着我给的流程走,连一个报错都没出,半小时就搞定了。今天就把我压箱底的服务器SFTP配置干货掏给你们,绝对没有那些听不懂的黑话,全是我前后踩了十几次坑攒的实诚经验,看完你要是还配不成就来评论区骂我。
我给你们整个最接地气的比方:你租了台云服务器,就相当于在互联网这条商业街租了个铺面,你平时要上传网站代码、传运营素材、导后台数据,总不能每次都翻窗户对吧?
早些年很多人用FTP传文件,那玩意儿就相当于你给商铺装了个没锁的卷帘门,黑客随便拿个铁丝就能捅开,偷你源码偷用户数据都是轻的,给你服务器塞挖矿病毒甚至把你站删了都有可能。而服务器SFTP配置,就是给你家商铺装个带人脸识别+指纹锁的专属卸货通道,只有你给了权限的人能进,传输东西的时候还全程加密,半路上被人截了也啥都看不懂,这不比FTP香一万倍?
而且现在云厂商基本都默认开了SSH服务,你做服务器SFTP配置都不用额外装啥软件,改几个配置就行,零成本就能把安全等级拉满,这便宜你不占白不占。
我当时第一次做服务器SFTP配置的时候啥都没准备,上来就瞎敲命令,结果光找问题就花了一下午,你们别学我,先把这几样东西备齐:
哦对了,提前去你服务器的安全组/防火墙把22端口开开,不然你连都连不上,还谈啥服务器SFTP配置,这也是新手最容易踩的坑,我见过至少5个人卡在这里。
我把步骤拆得碎碎的,你哪怕复制粘贴命令都行,绝对不会出问题。
这一步就相当于你先给卸货的工人建个专属工作群,不在群里的人一概不许进通道,权责分明才不会出乱子。直接敲下面的命令就行:
``` groupadd sftp_users ```Linux系统就这德行,没反馈就是最好的反馈,要是不确定建没建成,就敲个cat /etc/group | grep sftp_users,出来一行带sftp_users的就说明搞定了。
说句题外话啊,你看做人做事跟服务器SFTP配置一样,提前把规则定好,后面少多少扯皮的事儿,对吧?
这一步就相当于你给进群的工人办工作证,一人一个账号密码,谁违规了你一查就知道是谁干的。敲下面的命令建用户:
``` useradd -g sftp_users -s /sbin/nologin sftp_user ```给你们解释下参数省得你们瞎改:-g就是把这个用户归到刚才建的sftp_users组里,-s /sbin/nologin就是说这个用户只能用SFTP传文件,不能直接登录服务器搞别的,就相当于工人只能走卸货通道,不能进你商铺的内部办公区,安全系数直接拉满。
接下来给用户设密码:
``` passwd sftp_user ```
敲完会让你输两次密码,我提醒你们啊,密码别搞什么123456、abc123,跟你家银行卡密码似的,设个大小写加数字加特殊符号的组合,别嫌麻烦,真被盗号的时候你哭都来不及。我当时第一次做服务器SFTP配置的时候就是图方便设了个123456,结果第二天就被人扫出来尝试登录了,给我吓得连夜改了个16位的复杂密码,到现在啥事没有。
这一步就相当于你给卸货通道划个专属堆放区,工人只能在这个区里放东西拿东西,不能乱跑。敲下面的命令建目录改权限:
``` mkdir -p /data/sftp/upload chown root:root /data/sftp chmod 755 /data/sftp chown sftp_user:sftp_users /data/sftp/upload chmod 755 /data/sftp/upload ```这里有个巨坑我踩过!/data/sftp这个上级目录的所有者必须是root,权限不能超过755,不然你后面SSHD配置完重启会直接报错。我当时就是傻呵呵把这个目录的所有者设成sftp_user了,重启SSHD的时候报了快10个错,查了半小时日志才找到问题,你们千万别踩。
你看服务器SFTP配置这点事儿,跟你家收拾衣柜一样,每层放啥都规划好,权限给对,找的时候才不会乱,对吧?道理都是通的。
前面的准备工作都做完了,现在就给这个卸货通道装锁了,首先打开SSHD的配置文件:
``` vi /etc/ssh/sshd_config ```拉到文件最下面,把原来的Subsystem sftp开头的那行注释掉,加下面的内容:
``` Subsystem sftp /usr/libexec/openssh/sftp-server Subsystem sftp internal-sftp Match Group sftp_users ChrootDirectory /data/sftp ForceCommand internal-sftp X11Forwarding no AllowTcpForwarding no ```这几行的意思就是告诉服务器,凡是sftp_users组里的用户,登录之后只能待在/data/sftp目录里,只能用SFTP功能,别的啥都干不了,相当于给卸货通道加了个门禁,只能在指定区域活动,彻底堵死了搞破坏的可能。
改完保存退出,先别着急重启!一定要先敲个sshd -t检查下配置有没有语法错误,要是没报错再重启SSHD服务,不然你要是配置写错了,SSHD重启失败你就连不上服务器了,到时候只能去云平台控制台登VNC改,麻烦到死。我上次帮一个小兄弟搞服务器SFTP配置的时候,他就是没检查直接重启,把自己关外面了,折腾了快一小时才搞定,太惨了。
检查没问题就敲命令重启:
``` systemctl restart sshd ```到这儿你的服务器SFTP配置就基本搞定了。
你直接用FinalShell新建个SFTP连接,主机填你服务器公网IP,端口默认22,用户名就是刚才建的sftp_user,密码是你设的那个,要是能正常连上,能往upload文件夹里传东西、删东西,就说明你服务器SFTP配置成功了!
要是连不上的话,99%的问题都是这俩:要么是安全组没开22端口,要么是目录权限没按我给的来,对着检查一遍基本都能搞定。
你看,服务器SFTP配置是不是根本没你想的那么难?我这流程都是踩了不下20次坑磨出来的,只要你跟着走,别说你是技术小白,你就是只会玩消消乐的大爷大妈都能配置成功。我为啥愿意把这些东西掏出来?还不是之前我刚入行的时候,搜个服务器SFTP配置教程,要么是全是黑话看不懂,要么是藏了一堆坑让你踩,我当时就想以后我要是搞明白了,一定出个普通人都能看懂的教程。
还是那句话,做人实在点,技术这东西也没那么高大上,你只要肯动手,多试两次,啥服务器SFTP配置、服务器环境搭建,那都不叫事儿。对了,要是你们配置的时候遇到啥奇葩问题,评论区留个言,我看到了都会回,毕竟我这服务器SFTP配置的坑踩得比你们吃的外卖都多,啥情况基本都遇见过。
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图