一分钟在Linux 环境 搭建 SFTP服务器
文章目录
- 一、实战
- 1. 创建sftp组:
- 2. 创建一个用户sftpuser:
- 3. 设置sftpuser用户的密码,会要求你输入两次密码确认:
- 4. 创建一个sftp的上传目录:
- 5. 修改用户sftpuser所在的目录:
- 6. 配置sshd_config:
- 7. 设定Chroot目录权限:
- 8. 建立SFTP用户登入后可写入的目录
- 9. 重启sshd服务:
- 10. 测试是否能正常登陆:
- 11. 关闭SElinux:
- 二、常见问题
- 2.1. 这里讨论了为什么要关闭这功能
- 2.2. 连接异常
(附解决Write failed: Broken pipe Couldn’t read packet: Connection reset by peer)…
一、实战
1. 创建sftp组:
groupadd sftp
2. 创建一个用户sftpuser:
useradd -g sftp -s /bin/false sftpuser
#参数说明:
/etc/group 文件包含所有组
/etc/shadow /etc/passwd 系统存在的所有用户名
3. 设置sftpuser用户的密码,会要求你输入两次密码确认:
passwd sftpuser
4. 创建一个sftp的上传目录:
mkdir /app/data
5. 修改用户sftpuser所在的目录:
usermod -d /app/data sftpuser
6. 配置sshd_config:
vim /etc/ssh/sshd_config
如果没有vim,请执行
vi /etc/ssh/sshd_config
#找到如下这行,并注释掉
#Subsystem sftp /usr/libexec/openssh/sftp-server
#添加如下几行(如果添加之后出现问题,则添加到最后)
Subsystem sftp internal-sftp #这行指定使用sftp服务使用系统自带的internal-sftp
Match Group sftp #这行用来匹配用户组
ChrootDirectory /app/data #用chroot将用户的根目录指定到/app/data ,这样用户就只能在/app/data 下活动
AllowTcpForwarding no
ForceCommand internal-sftp #指定sftp命令
为什么用 internal-sftp 而不用默认的 sftp-server,这是因为:
这是一个进程内的 sftp 服务,当用户 ChrootDirectory 的时候,将不请求任何文件;更好的性能,不用为 sftp 再开一个进程。
#保存退出
7. 设定Chroot目录权限:
chown -R root:root /app/data
chmod 755 /app/data
8. 建立SFTP用户登入后可写入的目录
mkdir /app/data/sftpuser
chown -R sftpuser:sftp /app/data/sftpuser/
chmod 755 /app/data/sftpuser/
9. 重启sshd服务:
service sshd restart
10. 测试是否能正常登陆:
#执行这一行命令,输入密码即可
sftp sftpuser@localhost
11. 关闭SElinux:
vim /etc/sysconfig/selinux
#找到如下这行
SELINUX=enforcing
#修改为
SELINUX=disabled
#保存退出
二、常见问题
2.1. 这里讨论了为什么要关闭这功能
https://www.zhihu.com/question/20559538
2.2. 连接异常
[root@localhost home]# sftp sftpuser@localhost
Connecting to localhost...
sftpuser@localhost's password:
Write failed: Broken pipe
Couldn't read packet: Connection reset by peer
这个问题,是由于用户组决定的,解决很简单
我的sftp前缀目录是/app/data
首先,咱们找到/app目录,查看他的权限,也就是用户组和用户
从上图,可以看出用户和户组都是root权限对吧,不要问为都是root,一句话,不是root,不好使。
然后,找到/app下面的data目录
从上图,可以看出用户和户组都是root权限对吧,不要问为都是root,一句话,不是root,不好使。
上面是sftpuser的限制活动的目录。
下面进入到,sftpuser登录后的目录看看权限是什么样的呢?
从上图,可以看出用用户是sftpuser、用户组是sftp权限对吧,不要问为这样设置,一句话,不这样设置,不好使。
完美解决!
这样问题不好发现,
补充:
我当初是怎样发现这个问题的呢?
搭建sftp服务器 只要不在/app目录下面创建都好使,但是在/app目录下面创建就是不好使,然后我就比对目录权限之间的区别,发现/app的用户是oracle 用户组是oinstall,怎样测试和配置都不好使。希望能够帮助到小伙伴们!
一分钟在Linux 环境 搭建 SFTP服务器相关推荐
- linux git服务器搭建端口号是多少,Linux 环境 搭建Git 服务器,并且修改SSH端口使用...
1.环境配置说明 服务器 CentOS 7 + git(git version 1.8.3.1) 客户端 Windows10 + SourceTree 2.安装 Git 服务器端安装: sudo yu ...
- Linux 环境 搭建Git 服务器,并且修改SSH端口使用
1.环境配置说明 服务器 CentOS 7 + git(git version 1.8.3.1) 客户端 Windows10 + SourceTree 2.安装 Git 服务器端安装: sudo yu ...
- Linux下搭建SFTP服务器
文章目录 前言 1.创建用户 2.配置ssh和权限 3.测试 前言 sftp采用的是ssh加密隧道,安装性方面较ftp强,而且依赖的是系统自带的ssh服务,但速度较ftp慢.本次试验为虚拟机CentO ...
- linux环境搭建golang服务器,Linux下golang环境搭建-Go语言中文社区
1.首先从使用wget https://storage.googleapis.com/golang/go1.12.linux-amd64.tar.gz命令下载安装包,可以根据自己的需要选择版本. 2. ...
- linux搭建ldap服务器详细步骤,linux环境搭建ldap服务器
首先保证linux正常联网 yum install openldap-servers -y 拷贝配置文件 cd /usr/share/openldap-servers/ cp slapd.conf.o ...
- git ssh配置文件 服务器_Linux 环境 搭建Git 服务器,并且修改SSH端口使用
1.环境配置说明 服务器 CentOS 7 + git(git version 1.8.3.1) 客户端 Windows10 + SourceTree 2.安装 Git 服务器端安装: sudo yu ...
- linux平台搭建ftp,Linux快速搭建FTP服务器
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(A ...
- linux创建sftp服务器,Linux Centos 6.6搭建SFTP服务器
众所周知SFTP账号是基于SSH账号的,所以在默认情况下访问服务器的权限是非常大的.下面为SFTP用户权限设置方法. 必要条件: 你的openssh-server版本至少得失4.8p1, 因为配置权限 ...
- LINUX搭建SFTP服务器及脚本上行下载
前言:公司业务中,需要我方搭建sftp服务器用来三方交换数据,而且其中一方是win10专线,所以还需在本地写上行与下载脚本 一.创建一个组(sftp) groupadd sftp (删除使用group ...
最新文章
- ​易生信-宏基因组积微学术论坛:基于大数据整合准确预测土壤的枯萎病发生...
- 五种常见的PHP设计模式
- c# forbidden.html,c# – 如何使用Forbidden状态web api返回ModelState
- 今天的一条条平坦的即时通讯
- 系统查找存储过程和触发器
- 在Web开发中完美控制IE标题栏
- Go黑魔法之导出私有函数与私有变量
- 文献搜索方法(转载)
- 基于STC89C52的自动循迹小车项目
- 食品类小程序有哪些?这3款小程序推荐给你
- android studio导入第三方库引发的问题和解决方法
- Github如何绑定域名
- 中国数学家黄金一代-北大数学专业2000级
- 学了编程却写出错误代码?程序运行结果与想象不符?当bug出现时该何去何从,别担心,这篇文章统统告诉你!手把手带你调试代码,让bug原形毕露!
- 宇视 VM 平台通过 onvif 协议添加的相机离线问题
- frontpage php,在 FrontPage 2003 中编辑 PHP的问题_在 FrontPage 2003 中编辑 PHP 及乱码问题 - 软件教程 - 格子啦...
- php ahp和jhp,基于AHP的建筑工程监理人员综合绩效考核研究
- 如果我不爱你…伤感日志分享
- Ios php格式视频,ios视频格式转换器,ios视频格式mov转mp4,视频格式转换器
- stdarg.h中三个宏va_start ,va_arg\va_end及vsprintf 的应用