搭建前言:


 

主机系统:centos7

 

由于sftp基于ssh协议,所以我们无需安装多余的包,只需要进行相应的配置即可。

 

搭建过程:


 

1. 创建用户、用户组,设置目录权限等(本次只是测试,所以只建了一个用户/用户组)

	#家目录默认在/home/sftp_user
sudo useradd -m sftp_user:sftp_user
#将家目录的属主改为root
sudo chown root:root /home/sftp_user
#将家目录的权限改为755
sudo chmod 755 /home/sftp_user
#建立上传目录
sudo mkdir -p /home/sftp_user/upload
#建立下载目录
sudo mkdir -p /home/sftp_user/download
#切换上传、下载两个目录的属主为sftp_user
sudo chown -R sftp_user:sftp_user /home/sftp_user/upload
sudo chown -R sftp_user:sftp_user /home/sftp_user/download

 

2. 备份并修改/etc/ssh/sshd_config,在其中添加以下内容

 

文字版如下,可直接参考其中未注释内容:

	# override default of no subsystems
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
Match User sftp_user
ForceCommand internal-sftp
ChrootDirectory /home/sftp_user
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
PasswordAuthentication yes
# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# PermitTTY no
# ForceCommand cvs server
#UseDNS no
#AddressFamily inet
PermitRootLogin yes
#SyslogFacility AUTHPRIV
PasswordAuthentication no

 

3. 重启服务,如果报错就继续查错,如果无错就检查上传下载功能

sysetmctl restart sshd

 

至此,sftp的搭建就完成了。

 

搭建后记:


当然,这其中有几个点需要格外注意:

 

1. 在重启sshd的时候,sshd很容器起不来,会导致客户端连不上去。所以,我们需要注意2点:

1.1 备份/etc/ssh/sshd_config文件,如果ssh真的挂了,就赶紧恢复到以前的状态。

1.2 多开几个console,总要保证有一个console连得到主机,可以保证机器有能力恢复到从前状态。

2. 搭建sftp服务器的时候,我们需要注意3点:

2.1 ChrootDirectory 设置的目录权限及其所有的上级文件夹权限,属主和属组必须是 root。

2.2 ChrootDirectory 设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,权限最大设置只能是 755。

2.3 ChrootDirectory 下面的目录的属主需要设置成sftp user,这样这个用户才可以拥有读/写/执行权限。

sftp服务器的搭建的更多相关文章

  1. sftp服务器的搭建与连接

    在个人租用的vps上搭建sftp服务器并通过本机连接上去 本实验所需:Xshell(xshell中包含xftp).一台vps(windows系统) sftp是一种协议,即SSH File Transf ...

  2. linux搭建sftp服务器

    转自:http://blog.csdn.net/superswordsman/article/details/49331539 最近工作需要用到sftp服务器,被网上各种方法尤其是权限设置问题搞得晕头 ...

  3. Linux Centos 6.6搭建SFTP服务器

    Linux Centos 6.6搭建SFTP服务器 在Centos 6.6环境使用系统自带的internal-sftp搭建SFTP服务器. 打开命令终端窗口,按以下步骤操作. 0.查看openssh的 ...

  4. Windows 7下 搭建 基于 ssh 的sftp 服务器

    Windows  xp 下 搭建 基于  ssh 的sftp 服务器,服务器端可以用 freesshd,F-secure server等,filezilla server不可用,之前傻乎乎的用file ...

  5. freeSSHD在windows环境下搭建SFTP服务器

    freeSSHD在windows环境下搭建SFTP服务器 0 建议现在windows环境下安装cygwin,否则在windows环境下cmd模式使用不了sftp去连接,可以利用win scp去测试连接 ...

  6. Linux系统下搭建FTP/SFTP服务器

    传输文件经常使用ftp和sftp服务器.Windows下有多种可视化工具,使用快捷.Linux经常需要自行搭建这两种服务器,当然搭建熟练的话,会更加快捷. 1.检查Linux系统是否安装了vsftp和 ...

  7. Windows搭建SFTP服务器

    1.项目需要搭建一个SFTP服务器,网上搜了一下,用的是freeSSHd软件,网上查一下我用的是1.3.1版本https://freesshd.updatestar.com/网址自己下载即可. 2.安 ...

  8. 搭建SFTP服务器,允许一个或多个用户拥有一个或多个目录的rwx权限

    1.引言 sftp可以为传输文件提供一种安全的网络的加密方法.sftp 与 ftp 有着几乎一样的语法和功能.SFTP 为 SSH的其中一部分,是一种传输档案至 Blogger 伺服器的安全方式.其实 ...

  9. Linux ---搭建SFTP服务器

    在Centos 6.6环境使用系统自带的internal-sftp搭建SFTP服务器. 打开命令终端窗口,按以下步骤操作. 0.查看openssh的版本 ssh -V 使用ssh -V 命令来查看op ...

随机推荐

  1. JavaScript——判断页面是否加载完成

    前言 接上文,既然你是做一个loading的效果,你总不能一直loading,当页面完成加载的时候你总要结束吧 步骤 先说下原生的方法,再讲jquery的方法,原理是一样的 JavaScript // ...

  2. 【Servlet】基于Jsp的微信Oauth2认证

    作者:yongh701 挂载到微信服务器上的应用程序,能够通过微信Oauth2认证,能够抓取到用户的微信信息,当然,你首先要通过微信的帐号资质审核. 一.基本思想 二.基本过程 1.登陆微信的公众平台 ...

  3. React-Router常见API

    React-Router是React项目中处理路由的库. 1. HashRouter 通过hashchange监听路由的变化,通过window.location.hash赋值触发监听的变化. 本质是一 ...

  4. How to Close Frozen Applications in macOS

    How to Close Frozen Applications in macOS By Zeeshan Akram  - February 18, 2019 0 436     Oftenly, y ...

  5. 【洛谷P4585】 [FJOI2015]火星商店问题 线段树分治+可持久化trie

    感觉这个线段树分治和整体二分几乎相同啊~ code: #include <bits/stdc++.h> #define MAX 100300 #define ll long long #d ...

  6. Windbg的主题---Theme

    主题是预配置的windbg工作区,其中包含调试信息窗口的有用配置.任何主题都可以保存为基本工作区.Windows调试工具包中的主题作为一组注册表文件(扩展名为.reg)提供.当您积累更多的调试会话时, ...

  7. 手工部署yugabyte的几点说明

    ntp 时间同步 ntp 时间同步对于yugabyte 是一个比较重要的服务,需要注意时间的同步 YB-Master 个数的说明 原则 YB-Master 的个数,必须和复制因子的个数一样,同时mas ...

  8. 树莓派从烧录系统到通过wifi远程访问(新树莓派配置,无显示器、网线、键盘)

    本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/raspberry_from_install_to_remote_ ...

  9. spring boot中控制台打印sql日志

    .properties文件 logging.level.com.example.demo.dao=debug .yml文件 # 打印sql logging: level: com.example.de ...

  10. element ui里面table分页,页数从0开始的怎么做?

    需求: 后台请求的接口是从0页开始的,但是pagination是从1开始的,就是在点击pagination的第1页是后台转0 1首先在data里面定义为1,其他地方也是定义1 return { for ...