Centos 7.4上搭建sftp服务

Posted weibin1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos 7.4上搭建sftp服务相关的知识,希望对你有一定的参考价值。

1. sftp简介

sftp是SSH File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。
sftp 与 ftp 有着几乎一样的语法和功能。
其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件信息传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。
SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多。

2. 首先查看openssh版本

[[email protected] ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

版本必须大于4.8p1,低于的这个版本需要升级。

3. 创建sftp用户组

groupadd bmssftp

4. 创建sftp用户并归到sftp用户组中

useradd -g bmssftp -s /bin/false bmssftp
passwd bmssftp
# 这里为bmssftp用户设置密码为:bmssftp123

5. 将sftp组的用户home目录统一指定到/data/sftp下,按用户名区分,这里先新建一个bmssftp目录,然后指定bmssftp的home为/data/sftp/bmssftp

mkdir -p /data/sftp/bmssftp             #先新建一个bmssftp目录,作为bmssftp用户的home目录
usermod -d /data/sftp/bmssftp bmssftp      #修改bmssftp的home目录为/data/sftp/bmssftp

6. 配置sshd_config

vim /etc/ssh/sshd_config

注释掉X11Forwarding yes 这句话,大概在101行

注释掉Subsystem sftp /usr/libexec/openssh/sftp-server 这句话,大概在132行

并在文件末尾添加如下语句:

Subsystem sftp internal-sftp
Match Group bmssftp
ChrootDirectory /data/sftp/%u
ForceCommand    internal-sftp
AllowTcpForwarding no
X11Forwarding no

7. 设定权限

chown root:bmssftp /data/sftp/bmssftp
chmod 755 /data/sftp/bmssftp

8. 现在其实已经可以通过bmssftp账号密码登入了,但是在bmssftp文件夹中还不能上传文件,所以需要新建一个文件夹来供bmssftp用户上传文件

mkdir -p /data/sftp/bmssftp/upload
chown bmssftp:bmssftp /data/sftp/bmssftp/upload 
chmod 755 /data/sftp/bmssftp/upload

9. 关闭selinux

setenforce 0

vi /etc/selinux/config

将文件中的SELINUX=enforcing 修改为 SELINUX=disabled , 
然后保存

10. 重启sshd服务

service sshd restart

11. 本机验证sftp登录是否正常

sftp 用户名@本机IP,然后输入对应密码

[[email protected] sftp]# sftp [email protected]
[email protected]'s password: 
Connected to 127.0.0.1.
sftp> dir
upload  
sftp> 

如果出现sftp>,就没问题,这时候你就可以用第三方工具登录sftp进行上传和下载了。

注意1

ssh 服务要添加到防火墙规则的允许列表中。

注意2

如果你的操作系统的ssh服务做了源IP登录限制,请把你的源IP加入以下文件的允许IP列表中,否则用bmssftp用户无法登录。

/etc/hosts.deny

参考链接:
https://blog.csdn.net/yeyinglingfeng/article/details/81503578

以上是关于Centos 7.4上搭建sftp服务的主要内容,如果未能解决你的问题,请参考以下文章

手把手教你在centos 7.4上搭建NTP服务器

Centos6搭建sftp服务器

centos sftp安装

Linux Centos 6.6搭建SFTP服务器

CentOS 7.4搭建DNS服务器实现主从同步

CentOS 7.4搭建Apache网站服务