历史版本23 :Linux系统配置使用SFTP 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

Linux 系统自带 SFTP 服务,本文将介绍如何在 Linux 系统中使用 SFTP 。

注:由于 SFTP 的传输方式使用了加密/解密技术,所以传输效率比普通的 FTP 要低得多。

2. 操作步骤编辑

2.1 查看OpenSSH的版本

使用root用户查看OpenSSH的版本,版本需大于 4.8p1。如果版本过低,需要及时进行更新。

查询命令:

ssh -V

1635908517649081.png

2.2 创建用户

1)新建用户并设置密码:

useradd ceshi  # 新建ceshi用户
passwd ceshi  # 为ceshi用户设置密码

1635906279726123.png

此时/home路径下将自动创建ceshi文件夹。如下图所示:

3.png

2.3 WEB-INF文件夹拷贝赋权

1)拷贝正式环境 Web 工程里的 WEB-INF 文件夹,并粘贴到/home/ceshi目录下。

2)赋予权限

chmod -R 777 /home/ceshi  #给ceshi文件夹赋予写入权限

2.4 启动 SFTP 服务

查看 SFTP 状态,若未启动,需启动。

service sshd status #查看 sftp 的状态
service sshd start #启动服务

4.png

2.5 使用 SFTP 

管理员进入平台,配置文件服务器时,协议选择 SFTP ,路径填写绝对路径,为 WEB-INF 文件夹的路径。如下图所示:

注:SFTP 所在服务器防火墙需开放 22 端口。

6.png

3. 运维知识编辑

service sshd status #查看 sftp 的状态
service sshd start #启动服务
service sshd stop #停止服务
service sshd restart #重启 sftp

注:SFTP 默认是随系统启动而启动的,更多运维知识参见:集群运维手册-Linux 版 

4. FAQ 文档编辑

4.1 无法上传文件或者无法重启 sshd 服务

参考 Linux 系统安装配置 FTP 中 4.1 关闭 SELinux 的操作,即可解决。

4.2 高并发报错

问题描述:

高并发状态下,SFTP连接报错:connection is closed by foreign host

原因分析:

系统SSH终端连接数配置过小,查看虚拟机该参数,该参数在/etc/ssh/sshd_config中配置,为MaxStartups。

MaxStartups 默认设置是 10:30:100,意思是从第10个连接开始以30%的概率(递增)拒绝新连接,直到连接数达到100为止。

解决方案:

1)修改/etc/ssh/sshd_config中的MaxStartups,将其改为MaxStartups 1000:30:1200

2)修改/etc/ssh/sshd_config中的MaxSessions,将其修改为1000

3)重启SSH服务/etc/init.d/ssh restart