SftpGo 服务搭建 您所在的位置:网站首页 sftpgo中文路径 SftpGo 服务搭建

SftpGo 服务搭建

2024-07-10 18:31| 来源: 网络整理| 查看: 265

背景:

一、基于对线上服务器的保密和安全,不希望开发人员直接登录线上服务器,因为登录服务器的权限太多难以管控,如直接修改代码、系统配置等,希望能限制开发人员ssh登录机器,但是通过ftp/sftp上传代码文件。

二、项目中一些模块会调用sftp客户端程序,上传文件到服务器,实现相关功能,需要搭建好sftp服务端。

实验环境:

一台Centos 7.9的机器服务端,并安装docker 环境借助1Panel可视化面板一键安装Sftpgo应用来充当企业的sftp以及ftp服务器。

一、安装docker

1、安装 Docker 服务

1.Docker 服务查询(如安装跳过此步)

docker version #查询docker 服务状态 安装Dokcer服务 卸载系统之前可能安装的 docker(防止版本不一致,发生冲突) sudo yum remove docker \     docker-client \     docker-client-latest \     docker-common \     docker-latest \     docker-latest-logrotate \     docker-logrotate \     docker-engine

安装 Docker-CE 基本环境

sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2

设置 docker repo 的 yum 位置

sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo

安装 docker,以及 docker-cli

sudo yum install docker-ce docker-ce-cli containerd.io

启动docker 服务

systemctl start docker #docker 服务开启 systemctl restart docker #docker 服务重启 systemctl enable docker #docker 开机自动启动服务 二、安装1Panel

1Panel 系统借助 SFTPGo 应用,可以快速创建 SFTP、FTP 和 WebDAV 服务,支持多用户、多目录、多权限。 

参考文档:FTP - 1Panel 文档

1Panel 是新一代的 Linux 服务器运维管理面板功能和宝塔有点类似,但是免费开源的

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sh quick_start.sh #Centos/redhat版本使用 [root@localhost ~]# curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sh quick_start.sh #开始下载 1Panel v1.10.2-lts 版本在线安装包 安装包下载地址: https://resource.fit2cloud.com/1panel/package/stable/v1.10.2-lts/release/1panel-v1.10.2-lts-linux-amd64.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 48.4M 100 48.4M 0 0 16.3M 0 0:00:02 0:00:02 --:--:-- 16.3M 1panel-v1.10.2-lts-linux-amd64/1panel.service 1panel-v1.10.2-lts-linux-amd64/1pctl 1panel-v1.10.2-lts-linux-amd64/LICENSE 1panel-v1.10.2-lts-linux-amd64/README.md 1panel-v1.10.2-lts-linux-amd64/install.sh 1panel-v1.10.2-lts-linux-amd64/1panel ██╗ ██████╗ █████╗ ███╗ ██╗███████╗██╗ ███║ ██╔══██╗██╔══██╗████╗ ██║██╔════╝██║ ╚██║ ██████╔╝███████║██╔██╗ ██║█████╗ ██║ ██║ ██╔═══╝ ██╔══██║██║╚██╗██║██╔══╝ ██║ ██║ ██║ ██║ ██║██║ ╚████║███████╗███████╗ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═══╝╚══════╝╚══════╝ [1Panel Log]: ======================= 开始安装 ======================= 设置 1Panel 安装目录(默认为/opt): [1Panel Log]: 您选择的安装路径为 /opt #设置安装路径 [1Panel Log]: 检测到 Docker 已安装,跳过安装步骤 #检查docker是否安装,如果未安装则先安装docker [1Panel Log]: 启动 Docker [1Panel Log]: ... 在线安装 docker-compose % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 56.8M 100 56.8M 0 0 17.8M 0 0:00:03 0:00:03 --:--:-- 17.8M [1Panel Log]: docker-compose 安装成功 设置 1Panel 端口(默认为42074): #设置端口 [1Panel Log]: 您设置的端口为:42074 [1Panel Log]: 防火墙未开启,忽略端口开放 设置 1Panel 面板用户(默认为88326053fc): #面板用户名 [1Panel Log]: 您设置的面板用户为:88326053fc 设置 1Panel 面板密码(默认为08e13ab1ca): # 设置面板用户密码 [1Panel Log]: 配置 1Panel Service Created symlink from /etc/systemd/system/multi-user.target.wants/1panel.service to /etc/systemd/system/1panel.service. [1Panel Log]: 启动 1Panel 服务 [1Panel Log]: 1Panel 服务启动成功! [1Panel Log]: [1Panel Log]: =================感谢您的耐心等待,安装已经完成================== [1Panel Log]: [1Panel Log]: 请用浏览器访问面板: [1Panel Log]: 外网地址: http://122.231.147.239:42074/8a36118354 [1Panel Log]: 内网地址: http://192.168.245.133:42074/8a36118354 [1Panel Log]: 面板用户: 88326053fc [1Panel Log]: 面板密码: 08e13ab1ca [1Panel Log]: [1Panel Log]: 项目官网: https://1panel.cn [1Panel Log]: 项目文档: https://1panel.cn/docs [1Panel Log]: 代码仓库: https://github.com/1Panel-dev/1Panel [1Panel Log]: [1Panel Log]: 如果使用的是云服务器,请至安全组开放 42074 端口

根据提示登录可视化面板

安装完成1Panel

三、安装SFTPGO

在可视化面板中找到应用商店,搜索SFTPGo,点击安装

根据要求填写应用的端口号以及访问FTP、SFTP的ip地址,可以根据要求填写内网和外网地址

端口外部访问勾选,方便后期进行管理与维护

等待安装完后再已安装里面可找到应用并可以看到应用的状态

可以看到相关容器已经运行

点击参数可以查看到SFTPGO的web端口登录信息

浏览器访问主机IP地址加8080端口 例如 http://192.168.245.133:8080/

设置密码并登录SFTPGO 管理界面

四、配置SFTPGO

选择Server Manager—Status  

可以查看FTP/SFTP 服务信息,方便后续进行管理登录

创建用户信息 只需要填写:用户名和密码 其他选项暂时不需要填写

可以看到创建的用户 信息 状态及存储的位置

返回终端可以看到容器内的Vlom 卷和容器外部的 "/opt/1panel/apps/sftpgo/sftpgo/data/data 进行连接,所以我们访问容器外部的/     #使用docker inspect 容器ID或者容器名字,即可查询详细信息 

可以查看创建的用户及最后登录时间,当我们创建好用户之后再

/opt/1panel/apps/sftpgo/sftpgo/data/data 路径线没有出现用户的数据存储的文件,需要登录之后方可看到信息

五、验证

下载链接FTP/SFTP 服务链接工具,推荐winSCP 、FileZilla进行去连接

打开winSCP工具选择新标签页建立新的连接

选择新的站点文件协议选择SFTP 端口号选择2022端口,#该端口号根据前方安装容器的端口信息决定。

填好信息可以直接登录

首次创建完用户,并首次登录不会看到任何的数据信息

在winSCP端创建文件夹可以设置相应的权限

新创建用户登录SFTP后再/opt/1panel/apps/sftpgo/sftpgo/data/data/data 路径下新生成一个角色的存储文件目录

在WinSCP 创建yangtest文件夹

在终端中可以查询到从WinSCP创建过来的文件夹权限也是一致的

在终端中创建一个文件名字为1qa2ws.txt 

在winSCP终端中重新查询一下

结论:已经验证完成SFTP服务的搭建,完成在linux 端创建文件在WinSCP端可以看到,反之也能看到,完成通过SFTPGO服务可以搭建SFTP/STP 服务。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有