Centos7搭建sftp服务

 创建sftp传输文件位置,添加sftp群组


mkdir -p /data/sftp               ##sftp的数据目录

chmod 755 -R /data/sftp           ##给ftp用户进入目录

chown root:root -R /data/sftp     ##需要使用chroot

groupadd sftp                     ##配置sftp群组

useradd -d /data/sftp/test -m -g sftp -s /sbin/nologin test ##创建用户并加入sftp组,指定家目录和不允许正常登录

echo '123456' | passwd --stdin test ##为test用户设置密码123456自行修改

 修改sshd配置

切记:如果你还想使用ssh连接,那么下面这个配置ForceCommand internal-sftp可以不写,如果你不需要建立远程ssh,那么建议注释。如果后面有ssh需求忘了哪里的问题,可以回来看一下这句。       

vi /etc/ssh/sshd_config

#Subsystem  sftp  /usr/libexec/openssh/sftp-server #这行注释掉
GSSAPIAuthentication no #更改为no
UseDNS no #更改为no
X11Forwarding no #更改为no

#直接在文件最后面复制进去-> 添加
Subsystem sftp internal-sftp      ##sftp服务使用ssh服务提供的
ForceCommand internal-sftp        ##如果ssh 登录不了,请注释它
Match Group sftp                  ##匹配sftp组
ChrootDirectory  /data/sftp/%u    ##限制用户在自己家目录

修改完毕后重启sshd服务 

systemctl  restart sshd

 用户目录授权

mkdir /data/sftp/test/upload  -p
chown root:root /data/sftp/test
chmod 755 /data/sftp/test
chown test:sftp /data/sftp/test/upload -R  #只允许自己操作upload目录

CMD传输测试

先进入cmd 输入命令连接sftp

sftp 用户名@ip  #用户名替换为你创建的用户的用户名,例如我上面是test

 提示你输入密码,正常输入就行了,隐码形式,例如我上面密码是123456,输完回车

连接成功如下:

上传

put 对应文件路径 /upload

下载

get /upload/文件 #执行完毕后你cmd所在目录会拉取到这个文件

 注:这里你如果想拉取到制定文件目录下,可以提前cd切换到你想要的的目录。

猜你喜欢

转载自blog.csdn.net/weixin_44285713/article/details/131212238
今日推荐