linux 如何搭建sftp服务器

sftp采用的是ssh加密隧道,安装性方面较ftp强,而且依赖的是系统自带的ssh服务,不像ftp还需要额外的进行安装

文章目录

          • 一、服务器搭建分配
          • 二、sftp服务器搭建
            • 1. 创建sftp组
            • 2. 用户组
            • 3. 绑定用户组
            • 4. 配置
            • 5. 目录权限
            • 6. 用户、用户组、权限
            • 7. 关闭安全策略
            • 8. 测试验证

一、服务器搭建分配
ip作用
192.168.0.114sftp服务器
192.168.0.108测试应用服务器
二、sftp服务器搭建
1. 创建sftp组

创建完成之后使用cat /etc/group命令组的信息

[root@localhost ~]#  groupadd sftp
[root@localhost ~]# cat /etc/group

在这里插入图片描述

2. 用户组

创建一个sftp用户mysftp并加入到创建的sftp组中,同时修改mysftp用户的密码为123456

[root@localhost ~]# useradd -g sftp -s /bin/false mysftp
[root@localhost ~]# passwd mysftp

补充:useradd -g sftp -s /bin/false mysftp这条命令意思是:mysftp用户是不能使用bash的权限。如果让mysftp用户是能使用bash的权限权请执行下面这一行命令即可。

[root@localhost ~]# useradd -g sftp -s /bin/bash mysftp

在这里插入图片描述

3. 绑定用户组

新建/app/sftp/mysftp目录,并将它指定为mysftp组用户的home目录

[root@localhost ~]# mkdir -p /app/sftp/mysftp
[root@localhost ~]# usermod -d /app/sftp/mysftp mysftp

在这里插入图片描述

4. 配置

编辑配置文件/etc/ssh/sshd_config

vim /etc/ssh/sshd_config

将如下这行用#符号注释掉

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

并在文件最后面添加如下几行内容然后保存

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

在这里插入图片描述

5. 目录权限

设置Chroot目录权限

[root@localhost ~]# chown root:sftp /app/sftp/mysftp 
[root@localhost ~]# chmod 755 /app/sftp/mysftp

在这里插入图片描述

6. 用户、用户组、权限

新建一个目录供sftp用户mysftp上传文件,这个目录所有者为mysftp所有组为sftp,所有者有写入权限所有组无写入权限

[root@localhost ~]# mkdir /app/sftp/mysftp/upload  
[root@localhost ~]# chown mysftp:sftp /app/sftp/mysftp/upload
[root@localhost ~]# chmod 755 /app/sftp/mysftp/upload

在这里插入图片描述

7. 关闭安全策略

关闭selinux并重启sshd服务,然后测试
1、临时关闭:输入命令setenforce 0,重启系统后还会开启。
2、永久关闭:输入命令vim /etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,然后保存退出。

vim /etc/selinux/config
SELINUX=disabled
setenforce 0#重启sshd服务
systemctl restart sshd.service

在这里插入图片描述

8. 测试验证

在其他服务器上进行验证,sftp 用户名@ip地址

[root@localhost ~]# sftp mysftp@192.168.0.114
The authenticity of host '192.168.0.114 (192.168.0.114)' can't be established.
ECDSA key fingerprint is SHA256:Mxfzo4OtS1aI7Pil0wemA1YsT7a2Vvnutugi1WFjk3A.
ECDSA key fingerprint is MD5:f4:ba:b8:a1:de:3f:57:c5:c8:35:61:e3:34:3e:28:3b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.114' (ECDSA) to the list of known hosts.
mysftp@192.168.0.114's password: 
Connected to 192.168.0.114.
sftp> ls
upload  
sftp> cd upload/
sftp> pwd
Remote working directory: /upload
sftp> exit
[root@localhost ~]#

操作记录:

[root@localhost ~]#  groupadd sftp
[root@localhost ~]# cat /etc/group
...
sftp:x:1000:
[root@localhost ~]# useradd -g sftp -s /bin/false mysftp
[root@localhost ~]# passwd mysftp
Changing password for user mysftp.
New password: 
BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@localhost ~]# mkdir -p /app/sftp/mysftp
[root@localhost ~]# usermod -d /app/sftp/mysftp mysftp
[root@localhost ~]# vi /etc/ssh/sshd_config
[root@localhost ~]# vim /etc/ssh/sshd_config
[root@localhost ~]# chown root:sftp /app/sftp/mysftp 
[root@localhost ~]# chmod 755 /app/sftp/mysftp
[root@localhost ~]# mkdir /app/sftp/mysftp/upload  
[root@localhost ~]# chown mysftp:sftp /app/sftp/mysftp/upload
[root@localhost ~]# chmod 755 /app/sftp/mysftp/upload
[root@localhost ~]# vim /etc/selinux/config
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl restart sshd.service
[root@localhost ~]# 

如果遇到下面异常,请阅读我的下篇博客

[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

友情链接;https://gblfy.blog.csdn.net/article/details/109342716

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

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

相关文章

只需10分钟!就能用Flask,Docker和Jenkins部署机器学习模型

在生产环境中部署机器学习模型是数据工程中经常被忽视的领域。网上的大多数教程/博客都侧重于构建、训练和调整机器学习模型。如果它不能用于实际的预测,那么它又有什么用呢? 接下来了解一下有哪些部署选项吧:评估选项 在生产中部署机器学习模…

ftp工具类

文章目录1.依赖2. 工具类2. 业务处理类1.依赖 <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.56</version></dependency><dependency><groupId>commons-net</gro…

java调用qq接口_用java代码怎么去请求腾讯接口并返回值

这是参看代码&#xff0c;你看一下&#xff0c;里面的HttpClient包你要自己去下public static void main(String[] args) {CloseableHttpClient httpclient HttpClients.createDefault();String url "http://m.weather.com.cn/data/101200101.html";URI uri URI.c…

刚发布!新型病毒下,程序员可在家免费学习了!

亲爱的CSDN家人们&#xff1a;疫情当前&#xff0c;这个春节有点“寒”。截止1月31号24时&#xff0c;新型冠状病毒在全国已确诊11791名&#xff08;数字取自&#xff1a;人民日报8:40分发布信息&#xff09;&#xff0c;疑似病例已1w&#xff0c;受其影响&#xff0c;全国各地…

阿里巴巴的微服务开源之路

2019阿里云峰会北京开发者专场 侠之大者&#xff0c;为国为民。 在金庸小说中&#xff0c;郭靖和黄蓉是“侠之大者&#xff0c;为国为民”的典范&#xff0c;他们以布衣之身帮助宋军守护襄阳十余年。 技术的世界里&#xff0c;并无大小之分。 但当一群程序员由服务公司内部…

一文纵览自然语言生成的发展

人们对人工智能的兴趣随着科幻电影的诞生和发展变得愈发浓厚。每当我们听到“人工智能”这个词&#xff0c;便会联想到《终结者》、《黑客帝国》、《我&#xff0c;机器人》等电影。 机器人具有独立思考的能力在目前看来还比较遥远&#xff0c;但机器学习和自然语言理解领域已经…

java生成html表格数据_使用Java将表格数据导出成Excel格式

前言&#xff1a;本文使用后台处理的办法导出前端表格中显示的数据。引入依赖org.apache.poipoi3.17书写PoiUtilspublic classPoiUtils {public static ResponseEntity exportExcel(List marketList) throwsIOException {HttpHeaders headersnull;//创建文档HSSFWorkbook workb…

sftp 工具类

<!--sftp操作工具类--><dependency><groupId>com.jcraft</groupId><artifactId>jsch</artifactId><version>0.1.54</version></dependency>package com.example.demo.util;import com.jcraft.jsch.*; import lombok.ext…

基于机器学习场景,如何搭建特征数据管理中台?

「免费学习 60 节公开课&#xff1a;投票页面&#xff0c;点击讲师头像」作者 | 陈迪豪&#xff0c;第四范式资深架构师编辑 | Jane来源 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;一、机器学习场景与高性能特征管理中台理想的机器学习场景是给到数据&…

十年再出发!阿里云智能总裁张建锋演讲全记录

3月21日&#xff0c;“十年再出发”阿里云峰会于国家会议中心正式召开。阿里云智能总裁张建锋&#xff08;行癫&#xff09;携核心管理团队首次悉数亮相&#xff0c;并对阿里云做了全面的战略解读。以下是演讲全文。 张建锋&#xff1a;今天是我们阿里云智能升级之后第一次和大…

文件解析工具类

package com.example.demo.util;import lombok.extern.slf4j.Slf4j;import java.io.*; import java.util.ArrayList; import java.util.List;/*** 文件解析公共工具类** author gblfy* date 2020-10-13*/ Slf4j public class FileUtil {//------------------------------------…

java简单题目_Java考点知识简单练习题

Java考点知识简单练习题Java 技术具有卓越的通用性、高效性、平台移植性和安全性&#xff0c;广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网&#xff0c;同时拥有全球最大的开发者专业社群。下面是小编为大家搜索整理的java考试强化训练题&#xff0c…

数据科学家为什要用Git?怎么用?

也许你在别的地方听说过Git。也许有人告诉过你&#xff0c;Git只适合软件开发人员。如果你是数据科学家&#xff0c;那么Git其实对你很重要。本文作者希望能够通过经验分享让你了解Git的重要性&#xff0c;以及如何在你的数据科学工作中使用它。 什么是Git&#xff1f; Git是…

抗疫进展:多家科研机构联合筛选出五种可能有效的抗病毒药物

2月3日&#xff0c;华中科技大学同济医学院基础医学院、华中科技大学同济医学院附属武汉儿童医院、西安交通大学第一附属医院、中科院北京基因组研究所、华为云联合科研团队宣布&#xff0c;筛选出五种可能对2019新型冠状病毒&#xff08;2019-nCoV&#xff09;有效的抗病毒药物…

GAN的一些很酷的应用

在GAN发展的最初几年里&#xff0c;我们取得了令人瞩目的进展。当然&#xff0c;现在不会是像恐怖电影里那样有邮票大小的面部照片了。2017年&#xff0c;Gan制作了10241024张能愚弄人才童子军的照片。在未来几年&#xff0c;我们可能会看到GAN生成的高质量视频&#xff0c;由此…

ant压缩和解压缩工具类

<!--文件压缩和解压工具类--><dependency><groupId>org.apache.ant</groupId><artifactId>ant</artifactId><version>1.7.1</version></dependency>package com.example.demo.util;import lombok.extern.slf4j.Slf4j; i…

java项目短信群发接口_JAVA实现第三方短信发送过程详解

想使代码生效需要注册&#xff1a;在muven项目里面导入jar包commons-codeccommons-codec1.4commons-httpclientcommons-httpclient3.1commons-loggingcommons-logging1.1.1org.apache.httpcomponentshttpclient4.3.1com.alibabadruid1.0.8com.alibabadruid1.0.8创建一个测试类&…

两亿人在家开会!钉钉紧急扩容1万台云服务器

2月3日是一个特殊的开工日&#xff0c;为防范疫情&#xff0c;在阿里巴巴钉钉上有超过1000万家企业组织的2亿上班族在线开工。为支持此次史无前例的办公需求&#xff0c;钉钉在阿里云上紧急扩容1万台云服务器来保障钉钉视频会议、群直播、办公协同等功能&#xff0c;保障用户流…

这些数据科学家必备的技能,你拥有哪些?

1.教育背景 88&#xff05;的数据科学家受过高等教育且拥有硕士学位&#xff0c;其中46&#xff05;拥有博士学位。虽然有些人是例外&#xff0c;但通常需要非常强大的教育背景才能拥有成为数据科学家所必需的知识深度。要想成为数据科学家&#xff0c;你可以先获得计算机科学、…

JAVA将ResultSet结果集遍历到List中

今天在使用jstl标签展示查询结果时遇到一个小问题&#xff0c;即如何将ResultSet对象传递给前台页面。 在默认情况中我们在使用数据库查询时 public List selectDataFromJdbc() throws SQLException, ClassNotFoundException {Class.forName("oracle.jdbc.driver.OracleD…