一分钟在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,怎样测试和配置都不好使。希望能够帮助到小伙伴们!

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/519334.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微服务架构何去何从?

戳蓝字“CSDN云计算”关注我们哦!作者 | 孙玄本文经授权转载自架构之美前言微服务架构模式经过5年多的发展,在各行各业如火如荼地应用和实践。如何在企业中优雅地设计微服务架构?是企业面对的一个重要问题。本文将讲述微服务架构1.0设计与实践…

天马行空脚踏实地,阿里巴巴有群百里挑一的天才应届生

阿里巴巴有一群天马行空脚踏实地的阿里星。 天下网商记者 王安忆 阿里巴巴的春季校招已经启动。在阿里的技术大咖储备团队中,有三分之一是来自高校招聘,这当中,有一项名为阿里星的神秘计划。这是校招中专门针对高校顶尖大学生的一个培养计划&…

linux Nas挂载

文章目录一、NAS服务端1. 首先查看服务器上是否有nfs和rpc相关软件2. 设置共享3. 使配置生效:4. 查看所有可挂载5. rpcbind启和动nfs6.配置防火墙7. 查看防火墙的状态8. 启动防火墙9. 开放端口10. 重新启动防火墙11. 查看已开放的端口二、客户端(应用服务器)2.1.查看空间分布2.…

GitHub 标星 14000+,阿里开源的 SEATA 如何应用到极致?

戳蓝字“CSDN云计算”关注我们哦!作者简介:袁鸣凯,家乐福技术总监, 高知特有限技术公司中国区架构师,HP上海研发技术专家,夸客金融首席架构师,现任家乐福中国区技术总监。多年互联网、企业级SOA…

阿里小二的日常工作要被TA们“接管”了!

昨天有人偷偷告诉我说 阿里巴巴其实是一家科技公司! 我想了整整一夜 究竟是谁走漏了风声 那么重点来了,阿里到底是如何在内部的办公、生活中,玩转“黑科技”的呢? AI取名:给你专属的“武侠”花名 花名是阿里巴巴独…

对话Ruby创始人松本行弘、阿里高级技术专家朴灵!

4月25日,云栖社区联合阿里云国际站,特别邀请了Ruby创始人Matz(松本行弘)、阿里云高级技术专家朴灵,来为开发者们分享干货。 在本次活动上可以了解到Ruby语言最新的动态,Ruby和新语言golang在性能方面的差别…

Serverless 终结 Kubernetes?

戳蓝字“CSDN云计算”关注我们哦!Kubernetes 是基础架构管理的终极解决方案吗?还是说我们更加需要 Serverless?究竟哪种技术能够解救运维团队?不要忘记,NoOps 的世界即将到来。作者 | Daniele Fontani译者 | 弯月封图 …

代号“凤凰”,阿里新零售秘密武器,今年要打入100个城市

2019年,淘鲜达要在100个城市完成1000个门店的新零售改造。 天下网商记者 张文政 过去一年,初平三分之二的时间在出差,足迹遍及山东、河南、江西、湖南等地。 初平是天猫超市事业群战略合作部总经理,负责天猫超市旗下“淘鲜达”…

VS Code 批量操作

文章目录1. 关键词批量选中2. 末尾批量编辑3. 垂直批量编辑4. 垂直批量选中5. 批量选中整行6. 批量复制整行1. 关键词批量选中 Ctrld 选中相同的词句,批量编辑 2. 末尾批量编辑 shirtalti移动到最后,批量编辑 3. 垂直批量编辑 Ctrlalt↓垂直批量编…

Node.js 应用故障排查手册 —— 利用 CPU 分析调优吞吐量

楔子 在我们想要新上线一个 Node.js 应用之前,尤其是技术栈切换的第一个 Node.js 应用,由于担心其在线上的吞吐量表现,肯定会想要进行性能压测,以便对其在当前的集群规模下能抗住多少流量有一个预估。本案例实际上正是在这样的一…

python idea控制台中文乱码_解决IntelliJ IDEA 控制台输出中文乱码问题(史上最简单)...

解决IntelliJ IDEA 控制台输出中文乱码问题(史上最简单)首先,找到 IntelliJ IDEA 的安装目录,进入bin目录下,定位到idea.vmoptions文件,如下图所示:双击打开idea.vmoptions文件,如下图所示:然后…

VS Code 下载

官网地址: https://code.visualstudio.com/

通过DataWorks数据集成归档日志服务数据至MaxCompute进行离线分析

但是会遇到大家在分区上或者DataWorks调度参数配置问题,具体拿到真实的case模拟如下: 创建数据源: 步骤1 进入数据集成,点击作业数据源,进入Tab页面。 步骤2 点击右上角 新增数据源,选择消息队列…

这是我见过最卡通的 Python 算法了,通俗易懂

戳蓝字“CSDN云计算”关注我们哦!普通程序员,不学算法,也可以成为大神吗?对不起,这个,绝对不可以。可是算法好难啊~~看两页书就想睡觉……所以就不学了吗?就一直当普通程序员吗?如果…

在 IntelliJ IDEA 中部署应用到服务器

在之前的文章《在 Intellij IDEA 中部署 Java 应用到 阿里云 ECS》中讲解了如何将一个本地应用部署到阿里云 ECS 上去,有些读者反馈目前还有一些测试机器是在经典网络,甚至是在本地机房中,咨询是否可以通过 Cloud Toolkit 插件将应用部署到这…

对话行癫:解密阿里云顶层设计和底层逻辑

几十个问题,万字长文,阿里云新任总裁行癫履新后首次出面与钛媒体独家深入讨论了一下阿里云对云计算未来的判断,深度解读未来阿里云生态战略,揭秘阿里技术委员会和阿里中台思想的原生思考。 阿里云智能总裁张建锋 钛媒体注&#x…

Python获取2019-nCoV疫情实时追踪数据

戳蓝字“CSDN云计算”关注我们哦!来源 | 三行科创责编 | Carol出品 | CSDN云计算(ID:CSDNcloud) 2019-nCoV新型冠状病毒引发的肺炎牵动全国人民的心,无数无畏的英雄儿女逆行而上奔赴前线,作者也于2020年2月…

idea菜单栏消失如何调整回来

有一天, 把idea中 view下面的Appearance里面的Main Menu 给反选了 导致idea顶部的菜单栏给消失了, 就像下图这样 可以双击shift键,输入view,选择action里面的View 选择Appearance里面的Main Menu 即可把菜单栏调回来.

这款神秘的移动端OCR引擎,如何做到“所见即所得”?

阿里妹导读:随着深度学习,尤其是CNN和RNN等技术的飞速发展,文字识别技术(OCR)近几年得到了迅速的提升。与此同时,在智能化终端的大趋势下,本地化智能识别凭借更高效快捷的体验以及高度的隐私保护和零流量消耗等优势备受…

想要AI优先?数据优先才行

戳蓝字“CSDN云计算”关注我们哦!来源 | forbes编译 | shawn责编 | Carol出品 | CSDN云计算(ID:CSDNcloud) 开展人工智能和机器学习项目的人很早就知道,机器学习项目不是应用程序开发项目。机器学习项目的大部分价值在…