架设sftp服务器

报错无法登录问题:

packet_write_wait: Connection to 10.8.33.126 port 22: Broken pipe
Couldn 't read packet: Connection reset by peer

下面安装步骤整理记录:

情况一:从新增用户开始

先新增一个用户组,提供给 sftp 用户

$ sudo groupadd sfptusers

新增 sftp 的用户

$ sudo useradd -g sftpusers -d /incoming -s /sbin/nologin codetub
$ sudo passwd codetub

确认一下用户是否正确添加

$ grep codetub /etc/passwd
codetub:x:1001:1001::/incoming:/sbin/nologin

如果用户已经添加好,可以使用指令 usermod 来更改使用者的所在 home 主目录, 和限制登录

$ sudo usermod -g sftpusers -d /incoming -s /sbin/nologin codetub

接下来就是要设定sftp-server 了(在sshd_config 中设定, 因为它是属于ssh service 的子系统)

编辑/etc/ssh/sshd_config 档案,并且把原本的Subsystem sftp 注解掉,改成以下设定

#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp

指定跟目录给sftpusers 群组

如果你不希望sfptusers 群组里的使用者可以离开自己的目录,可以做以下设定,较为安全

在/etc/ssh/sshd_config 的最下方加入以下设定

Subsystem sftp internal-sftp
Match user codetub
ForceCommand internal-sftp
ChrootDirectory %h

其中:

  • Match Group sftpusers: 表示下面的设定都是针对属于sftpusers群组里的使用者
  • ChrootDirectory /sftp/ %u : 这个路径是用来给通过认证的使用者, 例如使用者codetub的家目录就会是在/sftp/codetub
  • ForceCommand internal-sftp : 这个是强制使用internal-sftp 的执行命令,并且忽略掉所有~/.ssh/rc 档案里面的任何指令

建立sftpuser 的root 目录/home/sftp/codetub

$ sudo mkdir -p /home/sftp/codetub

如此一来,/home/sftp/codetub就等同于codetub 的根目录/
接着要建立一个资料夹让sftp user 可以上传档案的目录incoming

$ sudo mkdir /home/sftp/codetub/incoming

针对目录设定适当的权限

  • 将incoming 的目录权限设定给codetub

    $ sudo chown codetub:sftpusers /home/sftp/codetub/incoming/
    

  • 确认一下是否有设定正确

    确认sftpuser 的目录权限

    $ ls -ld /home/sftp/codetub/incoming/
    drwxr-xr-x 2 codetub sftpusers 4096 7月26 22:34 /home/sftp/codetub/incoming/
    

  • [重点来了]这个地方就是我卡最久的地方,因为根目录的权限必须是root 所拥有的,否则就会发生一直无法登入的情况(错误讯息如下)

无法登入的讯息

packet_write_wait: Connection to 10.8.33.126 port 22: Broken pipe
Couldn 't read packet: Connection reset by peer

所以这里一定要格外注意, 下面这两个目录的拥有者都必须是root并且权限设定也都必须是755 (也就是drwxr-xr-x)

确认根目录的权限

$ ls -ld /home/sftp/codetub/
drwxr-xr-x 3 root root 4096 7月26 22:34 /home/sftp/codetub/
$ ls -ld /home/sftp/
drwxr-xr-x 3 root root 4096 7月26 22:06 /home/sftp/

重新启动ssh 就大功告成了

$ sudo service sshd restart

架设配置sftp服务器相关推荐

  1. linux sftp 中文,Linux(CentOS)上配置 SFTP服务器

    Linux(CentOS)上配置 SFTP服务器 发布于 2017-03-13 06:07:46 | 87 次阅读 | 评论: 0 | 来源: 网友投递 LinuxLinux是一套免费使用和自由传播的 ...

  2. CentOS7 安装配置SFTP服务器详解

    CentOS7 安装配置SFTP服务器详解 1.SFTP简介 SSH文件传输协议(英语:SSH File Transfer Protocol,也称Secret File Transfer Protoc ...

  3. 2021-04-20 #CentOS7配置sftp服务器操作日志#

    #CentOS7配置sftp服务器操作日志# 1.编辑/etc/ssh/sshd_config配置文件 注释Subsystem sftp /usr/libexec/openssh/sftp-serve ...

  4. linux连接sftp服务器,如何在Linux上配置SFTP服务器

    在本教程中,我们将引导您在Ubuntu服务器上设置SFTP.本文分为以下几节: 创建一个SFTP组和用户. 安装SSH守护程序. 配置SSH守护程序. 使用命令行登录到SFTP. 在开始之前,您需要确 ...

  5. WinServer 2012 架设配置 VP* 服务器

    环境 VPN 服务器:WinServer 2012 外网IP:192.168.0.6 内网IP 10.10.10.1 Client 客户端:WinServer 2012 外网IP:192.168.0. ...

  6. Linux搭建ftp和sftp服务器

    前言 FTP FTP(File Transfer Protocol,文件传输协议)是 TCP/IP 协议组中的协议之一,一般是为了方便数据共享的.FTP 包括一个 FTP 服务器和多个 FTP 客户端 ...

  7. 关于连接sftp以及本地配置sftp的事情

    1.window下配置sftp服务器 参考:https://blog.csdn.net/zhangliang_571/article/details/45598939 下载:http://www.fr ...

  8. window server 下搭建sftp服务器,Freesshd安装及配置

    机房维护的服务器有window和linux,每个月要巡检一个脚本,需要定时上传的一台windows的服务器,windows传windows的已经写好的bat脚本,见前一篇,http://qujunor ...

  9. linux系统配置sftp服务器,linux配置sftp服务器配置

    linux配置sftp服务器配置 内容精选 换一换 简要介绍miRanda是一种用于寻找microRNA基因组靶标的算法.该算法已用C语言编写,可以作为GPL下的开源方法使用.开发语言:C/C++一句 ...

最新文章

  1. java dom遍历_JavaScript DOM文档遍历实战
  2. python对英语和数学的帮助-英语和数学都不好,但是我想学Python编程可以吗?
  3. linux中的date的用法
  4. java emoji显示乱码_Java 解决Emoji表情过滤问题
  5. Coursera公开课-Machine_learing:编程作业7
  6. 【异常(待解决)】org.apache.http.NoHttpResponseException: api.weixin.qq.com:443 failed to respond
  7. POJ 2240 Arbitrage Bellman_ford 判读是否存在正环
  8. keil4 破解心得
  9. 矩阵分析与应用-1.1-矩阵的基本运算
  10. 相机成像原理及坐标变换
  11. UVALive - 3713 - Astronauts(图论——2-SAT)
  12. 微软通过共享文件夹的思路,使用工具SyncToy实现两台windows机器间的文件同步
  13. 我将进化成一条狗(9)——基因治疗
  14. 计算机三级考点6:网络关键设备选型。
  15. 知其然,而不知其所以然
  16. 解决word文件由于扩展名不匹配问题
  17. 分区助手里如何从临近盘(如D盘)抽取一定的空间给已经快满了的盘(如E盘)(博主推荐)(图文详解)...
  18. Apache访问控制和Web虚拟主机
  19. 叮咚DsV1.0pj版(去授权)
  20. AUTODESK_TOXIK_V2008

热门文章

  1. UNIX文件操作函数open、create、close、lseek简介
  2. jeecgBoot 状态默认设置
  3. 微信小程序ocr身份证识别以及手机号获取
  4. python win32api.sendmessage_最新版本:python win32api模拟了背景鼠标单击问题。
  5. 计算机及接口技术的测试题,微型计算机原理与接口技术测试题
  6. 计算机教学案例分析范文,高中信息技术教学案例 (2)范文.doc
  7. java用scanner循环输入_Scanner怎么实现连续输入
  8. 使用iText动态生成pdf,并用pdf.js在线预览
  9. PID控制器(比例-积分-微分控制器)- I
  10. Vue 前端数据大屏 适配