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

原文地址:https://www.cnblogs.com/weibin1/p/10893843.html

时间: 2024-10-13 06:24:46

Centos 7.4上搭建sftp服务的相关文章

CentOS 6.3上搭建PPTP VPN

系统版本:CentOS 6.3_x86_64 eth0:172.16.10.72(实验环境当公网IP使用) eth1:192.168.100.50 1.检测是否支持ppp模块 # cat /dev/ppp cat: /dev/ppp: No such device or address 如出现上面的结果,表明PPP模块开启,可以继续安装过程. 2.安装ppp # yum -y install ppp iptables 3.安装pptp 下载pptp的rpm包并安装: # wget http://

在Linux上搭建samba服务后,到Windos上访问不了共享目录的问题排障

今天在linux下搭建samba服务时,出现了几个问题,经过多次努力尝试,终于顺利解决问题:在linux上搭建samba服务,编译 vim /etc/samba/smb.conf完成后:1>在Windos上测试访问共享的目录时,错误提示如下 2>在浏览器上输入:file://192.168.1.103/sanshi,访问后还是同样的错误3>在linux上访问,如下提示[[email protected] ~]# smbclient //192.168.1.103/sanshiWARNIN

centos 使用sshfs快速搭建文件共享服务

centos 使用sshfs快速搭建文件共享服务 看了很多教程都写的不够完整所以自己根据实际操作找遇到的坑共享一下给大家 共享文件服务器必须打开ssh服务器 实例:IP192.168.7.50 yum -y install epel-release # 安装epel 源码 yum -y install fuse-sshfs # 安装sshfs  sshfs -o allow_other,nonempty [email protected]:/opt/ /opt/http 指定密钥文件 sshfs

在Win7的IIS上搭建FTP服务及用户授权

FTP服务 FTP是文件传输协议(File Transfer Protocol)的简称,该协议属于应用层协议(端口号通常为21),用于Internet上的双向文件传输(即文件的上传和下载).在网络上有很多服 务器提供FTP服务,用来存放大量的文件供他人下载.FTP服务的主要作用是让远程用户可以连接上来,查看服务器上有哪些文件,然后下载,当然用户也可以 将本地文件上传到服务器,共享给其他人以便下载.FTP服务提供上传下载服务的同时,管理员也可以设置不同用户对不同文件夹的访问权限(读.写). 在Wi

在CentOS 7系统上架设DNS服务

文档说明: 本文档以一个案例来介绍如何在CentOS 7系统上部署DNS服务.该案例仅是我对如何部署DNS服务的知识总结,并非是生产环境中存在的案例.并且,该案例中用到的CentOS系统均是安装在VMware虚拟机内的,虽然一般情况下这不会有什么不妥,但还是特别说明一下. 案例说明: 本案例使用了两台VMware虚拟机.两台虚拟机上均安装CentOS 7(详细版本号为7.0.1406,核心版本号为3.10.0-123.el7.x86_64),其中一台虚拟机用于模拟Master DNS服务器(假设

基于CentOS 6.5操作系统搭建MongoDB服务

基于CentOS 6.5操作系统搭建MongoDB服务 Mongo DB ,是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式,备受当前IT从业人员的青睐.Mongo DB很好的实现了面向对象的思想(OO思想),在Mongo DB中每一条记录都是一个Document对象.Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写SQL语句,直接调用方法就可以轻松的实现CRUD操作. 本文采用Linux系统搭建MongoDB服务,以下就是具体的搭建过程:

在Win7的IIS上搭建FTP服务及用户授权——转载!!

原文地址:http://blog.sina.com.cn/s/blog_6cccb1630100q0qg.html FTP服务 FTP是文件传输协议(File Transfer Protocol)的简称,该协议属于应用层协议(端口号通常为21),用于Internet上的双向文件传输(即文件的上传和下载).在网络上有很多服务器提供FTP服务,用来存放大量的文件供他人下载.FTP服务的主要作用是让远程用户可以连接上来,查看服务器上有哪些文件,然后下载,当然用户也可以将本地文件上传到服务器,共享给其他

如何在RHEL7上搭建Samba服务实现Windows与Linux之间的文件共享

如何在RHEL7上搭建Samba服务实现Windows与Linux之间的文件共享 实现环境:VMware workstations.RHEL7.0 第一步:配置网卡IP及yum软件仓库 命令:vim /etc/sysconfig/network-scripts/ifcfg-eno16777736 命令:vim /etc/yum.repos.d/aria.repo(这里的yum.repo是需要自己创建的,文件名自定即可) 第二步:设置挂载点并挂载本地ISO文件 将ISO文件连接上线 创建挂载点并挂

liunx系统上搭建samba服务,实现局域网文件共享

实验项目:搭建samba服务,实现三个功能:1,匿名访问:2,身份验证访问:3,账号映射访问.我们用两台虚拟机作为实验对象;一台Windows7系统的客户机,一台redhat6系统提供samba服务.两台实验对象都使用同一个虚拟网卡,并能够相互ping通1,匿名访问首先在redhat6系统的虚拟机上搭建samba服务,挂载光盘到/mnt目录,安装samba软件包然后进入/etc/samba/目录找到samba配置文件,备份配置文件,并过滤掉"#"开头的注释行,进入配置文件进行编辑设定设