1、sftpgo简介
SFTPGo是一款功能齐全、高度可配置的开源文件传输服务器,使用Go语言编写。它最核心的特点是能通过一套系统,同时支持SFTP、SCP、FTP/S、WebDAV以及HTTP/S等多种文件传输协议,并能将多种存储系统统一提供文件访问服务。

2、典型应用场景与架构
SFTPGo的架构设计使得它非常灵活,可以根据需要部署在不同的场景中。从了解到,一些知名企业如Jump Trading(高频交易)、WP Engine(网站托管)和Aledade(医疗健康数据)都在使用它。
其典型部署模式如下:
统一文件传输网关:在企业中,SFTPGo可以作为一个统一的文件交换门户,无论是需要访问本地存储,还是后端连接的云存储(如AWS S3、Azure Blob等),用户都可以通过自己熟悉的协议(如SFTP、WebDAV)进行访问。
混合云集成:SFTPGo能很好地充当一个桥梁,让传统的、基于本地文件系统的应用,也能安全地访问位于公有云对象存储中的数据。
安全合规的数据交换:得益于其丰富的安全特性(如多因素认证、IP过滤、细粒度权限控制),SFTPGo非常适合用于需要安全合规地与合作伙伴或客户共享文件的场景。
3、安装docker
1、安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
2、配置docker yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、安装docker
yum install -y docker-ce
4、修改docker配置文件
mkdir /etc/docker -p
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.credclouds.com",
"https://k8s.credclouds.com",
"https://quay.credclouds.com",
"https://gcr.credclouds.com",
"https://k8s-gcr.credclouds.com",
"https://ghcr.credclouds.com",
"https://do.nark.eu.org",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.1panel.live",
"https://docker.rainbond.cc"
],
"data-root": "/etc/docker"
}
EOF
5、启动docker
systemctl daemon-reload
systemctl enable docker --now
systemctl restart docker
6、安装docker-compose
# 下载docker-compose文件
curl -L "https://github.com/docker/compose/releases/download/v2.29.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 给他一个执行权限
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# 查看是否安装成功
docker-compose --version
4、拉取sftpgo镜像
docker pull drakkan/sftpgo:v2.5.4
5、创建数据目录
mkdir -p /data/sftpgo/{data,home}
chown -R 1000:1000 /data/sftpgo/
6、docker安装sftpgo
docker run -d --name sftpgo \--restart always \-p 8080:8080 \-p 2022:2022 \-p 8090:8090 \--mount type=bind,source=/data/sftpgo/data,target=/srv/sftpgo \--mount type=bind,source=/data/sftpgo/home,target=/var/lib/sftpgo \-e TZ=Asia/Shanghai \-e SFTPGO_HTTPD__BINDINGS__0__PORT=8080 \-e SFTPGO_WEBDAVD__BINDINGS__0__PORT=8090 \drakkan/sftpgo:v2.5.4
7、查看容器运行状态
docker ps -a

8、查看容器日志
docker logs -f sftpgo

9、访问sftpgo webUI
浏览器访问: http://192.168.52.15:8080
创建管理员用户admin:


10、sftpgo基本使用
10.1、创建sftp新用户




10.2、访问用户Web客户端界面
在浏览器中访问以下网址,并使用新用户帐户详细信息登录:
http://192.168.52.15:8080/web/client/login

在这里用户可以轻松上传和下载文件

10.3、测试sftp连接
1.使用sftp命令测试连接
现在测试新用户,linux操作系统默认自带sftp命令,在linux客户端测试连接sftpgo服务器。
连接后可以执行help命令查看支持的参数,使用put或get指令上传下载文件。
sftp -P 2022 admin1@192.168.52.15

2.使用winscp客户端测试连接


SFTPGo是一款强大而灵活的文件传输解决方案,特别适合需要统一管理多种文件传输协议、集成混合云存储环境,且对安全性和精细化管理有较高要求的场景。如果你正在为复杂的数据交换和文件传输需求寻找一个"瑞士军刀"式的工具,SFTPGo绝对值得一试。
希望以上介绍能帮助你了解SFTPGo。如果你在具体的安装或配置过程中遇到问题,可以参考其官方文档获取最详细和最新的信息。
评论 (0)