前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS 7.4安装SFTP

CentOS 7.4安装SFTP

作者头像
子润先生
修改2021-07-09 10:45:52
3.8K0
修改2021-07-09 10:45:52
举报
文章被收录于专栏:用户8644135的专栏

SFTP简介

sftp(Secure File Transfer Protocol)是一种安全的文件传送协议,是ssh内含协议,也就是说只要sshd服务器启动了,sftp就可使用,不需要额外安装,它的默认端口和SSH一样为22。 sftp通过使用加密/解密技术来保障传输文件的安全性,因此sftp的传输效率比普通的FTP要低,但sftp的安全性要比ftp高,因此sftp通常用于报表、对账单等对安全性要求较高的场景。

系统环境:CentOS 7.4

IP地址:192.168.31.55

一、创建sftp组:

[root@localhost ~]# groupadd sftp

二、创建一个用户sftpuser:

[root@localhost ~]# useradd -g sftp -s /sbin/nologin sftpuser

三、设置sftpuser用户的密码

[root@localhost ~]# echo "123456" | passwd --stdin sftpuser

四、创建一个sftp的上传目录:

[root@localhost ~]# mkdir -p /home/sftp/sftpuser

五、修改用户sftpuser所在的目录:

[root@localhost ~]# chown -R sftpuser.sftp /home/sftp/sftpuser

六、配置sshd_config:

[root@localhost ~]# vim /etc/ssh/sshd_config

找到Subsystem sftp /usr/libexec/openssh/sftp-server,注释掉这行,并添加以下内容

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

Subsystem sftp internal-sftp

#这行用来匹配用户

Match User sftpuser

#用chroot将用户的根目录指定到/home/sftp,这样用户就只能在/home/sftp下活动

ChrootDirectory /home/sftp

AllowTcpForwarding no

#指定sftp命令

ForceCommand internal-sftp

#保存退出

PS:注意ChrootDirectory设置的目录/data_share/dingli/的所有者必须是root,并且该目录的上级目录data_share的所有者也必须是root.

为什么用 internal-sftp 而不用默认的 sftp-server,这是因为: 这是一个进程内的 sftp 服务,当用户 ChrootDirectory 的时候,将不请求任何文件;更好的性能,不用为 sftp 再开一个进程。

七、重启SSHD服务

[root@localhost ~]# systemctl restart sshd.service

八、访问测试(这里采用xftp工具),效果如下图

CentOS 7.4安装SFTP
CentOS 7.4安装SFTP
CentOS 7.4安装SFTP
CentOS 7.4安装SFTP

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SFTP简介
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档