凡亿专栏 | SFTP是什么?Linux怎么配置SFTP服务?
SFTP是什么?Linux怎么配置SFTP服务?

在计算机项目开发中最常见的文件传输方式主要有两种,分别是FTP和SFTP。今天将以SFTP为重点,讨论下SFTP是什么?Linux怎么配置SFTP服务?欲了解更多的网络协议知识,可关注凡亿课堂

嵌入式Linux核心教程

SFTP是什么?

在计算机领域中,SFTP是指SSH文件传输协议(英文名为SSH File Transfer Protocol,中文名为安全文件传输协议),是数据流连接,提供文件访问、传输和管理功能的网络传输协议。

SFTP与FTP有着几乎一样的功能和语法,是一种传输档案至Blogger伺服器的安全方式,它本身没有单独的守护进程,是SSH内含协议,它的默认端口和SSH一样是22,必须使用SSHD的守护进程来完成相应的连接和答复操作。

SPFT的特点是需要使用加密/解密技术来保证文件传输的安全性,因此SFPT传输效率比FTP低,但安全性比FTP高,适用于报表、账单等对安全性要求高的场景。

Linux怎么配置SFTP?

CentOS 7为例:

1、使用root查看openssh版本

ssh -V //版本须大于4.8p1,若版本过低,可yun update更新;

2、使用root用户创建组名我sftpgroup的用户组,创建用户名为sftpuser的SFTP用户,并设置密码

groupadd sftpgroup //创建SFTP组

useradd -g sftpgroup -M -s /bin/nologin sftpuser //-M表示创建用户时不生成对应的home目录,-s /bin/nologin表示sftp用户不能登录系统

passwd sftpuser //修改sftp用户密码

3、修改配置文件sshd_config

vi /etc/ssh/sshd_config

修改如下:

将下行注释掉

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

##在文件末尾添加如下内容:

Subsystem sftp internal-sftp

Match  Group sftpgroup

X11Forwarding no

AllowTcpForwarding no

ChrootDirectory %h

ForceCommand internal-sftp

4、使用root用户新建目录/home/sftpfile,将其设置为sftpuser的home目录,并指定目录权限。

mkdir -p /sftp/sftpuser //-p表示递归创建目录

usermod -d /sftp/sftpuser sftpuser //-d表示修改用户home目录

//设置Chroot目录权限

chown root:sftpgroup /sftp/sftpuser

chmod 755 /sftp/sftpuser

//设置sftp用户可以操作的目录

mkdir /sftp/sftpuser/upload

chown sftpuser:sftpgroup /sftp/sftpuser/upload

chmod 755 /sftp/sftpuser/upload

5、重启SSH

systemctlrestart sshd.service

6、切换到sftpuser用户进行验证

sftp sftpuser@127.0.0.1

以上是SFTP的基础知识和配置服务。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表凡亿课堂立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。
相关阅读
进入分区查看更多精彩内容>
精彩评论

暂无评论