Linux6.8搭建sftp服务

article/2025/9/1 12:27:17

      最近因公司工作需要用到sftp服务器,参考网上各种方法,但被网上各种方法尤其是权限设置问题搞得晕头转向,现在将自己搭建过程总结了一下,提供给大家希望有所帮助。

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

       那么,下面就开始搭建sftp服务吧!

第1歩,添加sftp用户并制定根目录:useradd -d  /ygsoft/sftp  -s /bin/bash sftpuser

第2歩,修改密码:执行passwd sftpuser,然后输入密码2次即可 

第3歩,修改配置文件,执行vi /etc/ssh/sshd_config ,在里面添加如下信息:并注释掉 #Subsystem      sftp   /usr/libexec/openssh/sftp-server

然后添加以下5行

Subsystem       sftp   internal-sftp

Match Usersftpuser

#X11Forwarding no

#AllowTcpForwardingno

#ForceCommandinternal-sftp

 第4歩,设置根目录的访问权限:chmod 775 /ygsoft/sftp(可选)

 第5歩 可以省略,更改默认的22端口,找到配置文件/etc/ssh/ssh_config和sshd_config,

vi ssh_config和sshd_config 修改Port为10022 注释掉22端口



第6歩,重启sshd进程,使配置生效:service sshd restart

 

至此,sftp服务器就搭建好了,使用命令sftp sftpuser@192.168.8.8登陆一下,登陆成功说明搭建成功。也可使用winsp客户端(filezilla)登陆即上传下载文件。

注:如果在配置文件里面增加了ChrootDirectory /ygsoft/sftp ,那么根目录的拥有者和属组必须是root,此时目录权限应这样设置:

 chown root:root/ygsoft/sftp

 chmod 755 /ygsoft/sftp

 此时只有用户root对/ygsoft/sftp目录有写入权限,而使用sftpuser这个用户登陆后是没有写入权限的,故需要在/home/sftp/目录下再新建一个文件夹zjjk,并赋予sftpuser读写权限,这样才能完成sftp操作。

#mkdir -p / ygsoft/sftp/zjjk

# chmod 775 / ygsoft/sftp/zjjk

由此可见,在配置文件中增加了ChrootDirectory后,需要特别注意权限问题。


 常见问题:

1、sftp登录时报错:

 Connecting to192.168.8.8..

/etc/ssh/ssh_config:line 60: Bad configuration option: UseDNS

/etc/ssh/ssh_config:terminating, 1 bad configuration options

Couldn't readpacket: Connection reset by peer

 该问题是由dns解析导致,在客户端的配置文件/etc/ssh/ssh_config中查看是否有UseDNS no,如果有,注释掉该行。

 2、sftp连接时特别慢,而且警告:reverse mapping checking getaddrinfo for bogon [192.168.8..8] failed- POSSIBLE BREAK-IN ATTEMPT!

 可能原因:在sftp服务器上找到配置文件/etc/ssh/sshd_config,将GSSAPIAuthenticationyes 改为GSSAPIAuthentication no。


 






http://chatgpt.dhexx.cn/article/9B2cBKxZ.shtml

相关文章

107-161JS

107-161 target事件委托正则表达式捕获exec特性 this指向改变this指向ES6定义变量ES6箭头函数ES6解构赋值ES6展开运算符ES6模块化初识面向对象创建对象构造函数注意问题面向对象的原型ES6-Class面向对象继承ES6继承Aajaxajax同步异步请求方式1ajax的封装回调地狱promise基础语法…

fastjson与net.sf.json区别

在现在的开发当中&#xff0c; 绝大多数引用阿里巴巴的fastjson。 当然net.sf.json同样可以使用。 一、引入com.alibaba.fastjson包 <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency><groupId>com.alibaba</groupId>…

SftpGo:一款高性能的sftp server服务

SftpGo是一款高性能、功能齐全、易用可配置的一款sftp server 服务&#xff0c;基于go开发。目前在linux、macos下均可以稳定运行(windows个人未测试)。数据可以持久化到主流的数据库&#xff0c;诸如Mysql、PostgreSQL、Sqlilte. sftpgo主要组成 服务端主程序: sftpgosever…

SF简易IDC系统V1.0免授权

介绍&#xff1a; 提供官方EP接口&#xff08;可免费无限开通主机和CDN&#xff09; 2.站长可自己上架主机定义金额&#xff0c;更有自定义模式&#xff08;客户自己选择配置&#xff0c;根据配置进行付钱&#xff09; 3.独立支付接口 —————— 源码无后门&#xff0c;免授…

CentOS7.6-搭建SFTP服务

1.需求 搭建多账号SFTP&#xff0c;不同的用户只能够查看自己所属的目录禁止SFTP账号通过SSH连接SFTP 用户demo1、demo2&#xff0c;所属目录&#xff1a;/data/sftp/demo1、/data/sftp/demo2 2.操作步骤 创建目录 mkdir /data/sftp/{demo1,demo2} -p创建用户组sftp groupad…

Fastdfs安装(超级无敌详细版)

注&#xff1a;如果还没开始安装&#xff0c;请根据本教程完整走完&#xff0c;每个教程都有差异&#xff0c;拼拼凑凑更容易出问题。本教程各个包的版本都是亲自试过没问题的&#xff0c;熟练的半小时内即可安装好。 由于在学习阶段&#xff0c;看了许多别人的教程和视频&…

MBR引导程序源码理解

目录 MBR引导程序源码理解序参考链接 开机流程简述与MBR引导程序的关系进入 BIOS 确认开机启动磁盘获取引导磁盘第一扇区MBR数据反汇编MBR.bin源码解读00000000 EB63 jmp short 0x6500000065 FA cli00000066 90 nop00000067 90 nop00000068 F6C280 test dl,0x800000006B 7405 j…

IDEA 创建Maven Web项目

背景 公司有一个非常老的项目&#xff0c;决定进行简单重构&#xff0c;纳入自动化流水线部署的序列。原项目采用很古老的Jar包依赖模式&#xff0c;也就是直接将jar包放在项目中。同时&#xff0c;项目结构也非常奇特&#xff0c;不是标准的Web项目目录结果。 于是&#xff…

确保web地址正确解决方案

确保web地址正确 重置ie解决 1.首先&#xff0c;进行打开一个为电脑中一个ie的浏览器&#xff0c;进行双击打开即可。 2.打开了一个浏览器之后&#xff0c;进行点击右上角中的 设置 图标。 3.进行点击了设置之后&#xff0c;弹出了下拉菜单选中为 internet 选项。 4.这样就…

WebAPI简介

1、WebAPI概述 为什么要使用WebAPI&#xff1a; Web API最重要的是可以构建面向各种客户端的服务。 ASP.NET WebAPI是什么: 官方定义如下&#xff0c;强调两个关键点&#xff0c;即可以对接各种客户端&#xff08;浏览器&#xff0c;移动设备&#xff09;&#xff0c;构建ht…

深度解读互联网新时代:Web3.0

文章目录 深度解读互联网新时代——Web3.0一、Web3 —— 中心化网络的新兴名词二、Web3 “全家福”三、Web3 是互联网的货币层四、Web3 是互联网的身份层五、Web3 通过售卖数据来牟利的反击六、Web3 还拥有平台本身的一种方式七、Web3 是一种新的互联网赞助模式八、Web3 让建立…

使用Docker部署web项目

1、简介 本片文章主要介绍如何使用docker部署web项目。关于docker的安装及基本使用在笔者的另一篇文章中有相关的介绍。 链接 https://blog.csdn.net/H_porridge/article/details/123609120 2.准备一个web项目 自己有项目的可以用自己项目来部署&#xff0c;笔者此处也有一个…

CTFshow web17

萌新计划 进入题目&#xff0c;是一行php代码&#xff0c;发现c传参过滤掉了php&#xff0c;尝试一下日志文件包含漏洞 nginx的日志文件位置是/var/log/nginx/access.log 发现日志文件记录了User-Agent 那么我们就在User-Agent中写入一句话木马 上传成功&#xff0c;接下来我…

【计算机网络】Web服务器的配置

目录 课题描述 需求分析 2.1 WEB服务器基本构架 2.1.1 WEB服务器和浏览器 2.2 HTTP协议 2.2.1 HTTP简介 2.2.2 HTTP工作原理 2.3 FTP协议 2.3.1 FTP简介 2.3.2 FTP工作原理 2.4 ISS服务作用 概要设计 3.1 ISS服务器的安装与配置 3.2 详细设计 结果分析 4.1 We…

Zabbix web 监控

Zabbix web 监控 1、介绍 1、 Web 监控 监控指定的站点的资源下载速度&#xff0c;及页面响应时间&#xff0c;还有响应代码&#xff1b; 1、术语 web Scenario&#xff1a; web场景&#xff08;站点&#xff09; web page &#xff1a;web页面&#xff0c;一个场景有多个…

eclipse创建web项目

web创建 创建web项目错误解决方法如何设置Apache服务器 创建web项目 步骤1&#xff1a;创建Dynamic Web Project–动态web项目。 打开eclipse&#xff0c;在工具栏选在New–>Dynamic Web Project 在打开的Dynamic Web Project窗口&#xff0c;输入项目名。选择tomcat&…

idea部署web项目

资料来源 1.Idea 2020.2 创建web、Spring项目 2.idea部署web项目 3.IDEA 配置并运行tomcat 4.[IDEA:“Web”Facet resources are not included in an artifact] 5.【错误解决】Intellj&#xff08;IDEA&#xff09; warning no artifacts configured 1.idea中如何创建项目…

ctfshow-WEB-web7

ctf.show WEB模块第7关是一个SQL注入漏洞,注入点是数值型注入,源码中过滤了空格,我们可以使用括号()或者注释/**/来代替空格 页面中有一个文章列表,随便点一个 从url地址栏中可以看到,页面通过文章的id值来查询文章内容,我们可以考虑SQL注入漏洞 首先判断注入点,输入以下payloa…

Web是什么意思

Web是什么意思&#xff1f;可能大家经常听说Web这个词&#xff0c;却不知道它的真正含义&#xff0c;更不了解Web能用来干什么。那么今天我将为大家讲解一下Web的意思&#xff0c;以及学习Web到底有没有前景。 1、Web是什么意思 Web是什么意思&#xff1f;其实这是World Wide …

flutter开发web项目

Flutter Web在美团外卖的实践 - 掘金 让项目支持web &#xff1a;flutter create . 运行&#xff1a;flutter run -d chrome 运行指定渲染方式&#xff1a;flutter run --web-renderer html -d chrome 打包&#xff1a;flutter build web --release --web-renderer html 官…