如何理解sftp server服务SftpGo
发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,如何理解sftp server服务SftpGo,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。SftpGo是一款高性能、功能齐全、易用可配
千家信息网最后更新 2024年11月24日如何理解sftp server服务SftpGo
如何理解sftp server服务SftpGo,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
SftpGo是一款高性能、功能齐全、易用可配置的一款sftp server 服务,基于go开发。目前在linux、macos下均可以稳定运行(windows个人未测试)。数据可以持久化到主流的数据库,诸如Mysql、PostgreSQL、Sqlilte.
sftpgo主要组成
服务端主程序: sftpgosever
cli脚本: sftpcli
数据目录
conf存储服务配置文件
data创建sftp用户目录
backups存储应用备份数据
本次基于k8s运行服务、mysql5.7做持久化存储、腾讯云NFS服务做数据目录、configmap挂载配置文件、nginx stream提供域名映射tcp访问
构建镜像
直接拉取
docker pull taylordang/sftpgo:v1.0
本地基于Dockerfile构建
查看具体文档: [https://github.com/dtcka/sftpgo/tree/master/docker/sftpgo/alpine](https://github.com/dtcka/sftpgo/tree/master/docker/sftpgo/alpine)
构建脚手架
构建脚本: [https://github.com/dtcka/sftpgo/blob/master/docker/rest-api-cli/Dockerfile](https://github.com/dtcka/sftpgo/blob/master/docker/rest-api-cli/Dockerfile)
标准配置文件
{ "sftpd": { "bind_port": 2022, "bind_address": "0.0.0.0", "idle_timeout": 15, "max_auth_tries": 0, "umask": "0022", "banner": "", "upload_mode": 0, "actions": { "execute_on": [], "command": "", "http_notification_url": "" }, "keys": [], "kex_algorithms": [], "ciphers": [], "macs": [], "login_banner_file": "", "setstat_mode": 0, "enabled_ssh_commands": [ "md5sum", "sha1sum", "cd", "pwd", "scp" ], "keyboard_interactive_auth_program": "", "proxy_protocol": 0, "proxy_allowed": [] }, "data_provider": { "driver": "mysql", "name": "sftpgo", "host": "xxxxxx", "port": 9999, "username": "sftpgo", "password": "xxxxx", "sslmode": 0, "connection_string": "", "users_table": "users", "manage_users": 1, "track_quota": 2, "pool_size": 0, "users_base_dir": "", "actions": { "execute_on": [], "command": "", "http_notification_url": "" }, "external_auth_program": "", "external_auth_scope": 0, "credentials_path": "credentials", "pre_login_program": "" }, "httpd": { "bind_port": 8080, "bind_address": "0.0.0.0", "templates_path": "templates", "static_files_path": "static", "backups_path": "backups", "auth_user_file": "", "certificate_file": "", "certificate_key_file": "" }}
运行应用
以上服务配置准备完成之后,运行容器会在数据库中自动生成对应的表
提供服务外部入库
1. 设置内网服务入口
apiVersion: v1kind: Servicemetadata: name: sftpgo namespace: sftpspec: clusterIP: xxxx externalTrafficPolicy: Cluster ports: - name: 8080-8080-tcp nodePort: 31807 port: 8080 protocol: TCP targetPort: 8080 - name: 2022-2022-tcp nodePort: 30865 port: 2022 protocol: TCP targetPort: 2022 selector: k8s-app: sftpgo qcloud-app: sftpgo sessionAffinity: None type: LoadBalancerstatus: loadBalancer: ingress: - ip: xxxx
2. 设置外部服务入口
- nginx配置文件 ``` apiVersion: v1 data: nginx.conf: |- user nginx; worker_processes auto; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } stream { server { listen 2022; proxy_pass sftpgo服务对应的内网ip:2022; } } kind: ConfigMap metadata: name: tcp-config namespace: sftp
##### 3.测试下服务状态以及数据目录权限![image.png](https://oscimg.oschina.net/oscnet/up-bee83bd7e27b4e982526a9d3c88a450f7fe.png)
测试ok:数据权限UID GID需要设置为1003.
##### 4. 设置域名解析到nginx的externalIps即可实现域名访问![image.png](https://oscimg.oschina.net/oscnet/up-331b767e5d7c85d5f06f1a9c01daa105227.png)---
附:
看完上述内容,你们掌握如何理解sftp server服务SftpGo的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
服务
数据
配置
文件
目录
运行
域名
存储
测试
入口
内容
数据库
方法
更多
服务配置
权限
脚本
问题
应用
齐全
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发项目的风险管理
上海天承网络技术有限公司官网
监控网络技术视频
网络安全微课优秀作品图片
网络技术真的弊大于利吗
局 网络安全自查 表
昆明明讯网络技术有限公司
得服网络安全教育
龙华服务器运维服务哪个品牌好
宁夏东方网络技术有限公司
网络安全设计及应用实训
海宁利人网络技术有限公司
txt存入数据库
软件开发工程师转芯片
木瓜互联网科技馆电影
数据库文件分割
开展网络安全等级保护
山东大数据库 引领搜索
广告设计和软件开发
石林天气预报软件开发
中国的网络技术现状
观看网络安全心得体会200字
选择数据库进行跨库检索
有哪些软件开发方向
维护个人信息安全与网络安全
方滨兴网络安全班
大学生网络安全工程专业就业
数据库图片编辑器
电脑网络技术学院奖
金融网络安全周