如何理解sftpserver服務SftpGo

如何理解sftp server服務SftpGo,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

成都創(chuàng)新互聯(lián)公司成立十年來,這條路我們正越走越好,積累了技術與客戶資源,形成了良好的口碑。為客戶提供網(wǎng)站設計制作、成都做網(wǎng)站、網(wǎng)站策劃、網(wǎng)頁設計、域名與空間、網(wǎng)絡營銷、VI設計、網(wǎng)站改版、漏洞修補等服務。網(wǎng)站是否美觀、功能強大、用戶體驗好、性價比高、打開快等等,這些對于網(wǎng)站建設都非常重要,成都創(chuàng)新互聯(lián)公司通過對建站技術性的掌握、對創(chuàng)意設計的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進步。

SftpGo是一款高性能、功能齊全、易用可配置的一款sftp server 服務,基于go開發(fā)。目前在linux、macos下均可以穩(wěn)定運行(windows個人未測試)。數(shù)據(jù)可以持久化到主流的數(shù)據(jù)庫,諸如MySQL、PostgreSQL、Sqlilte.  

如何理解sftp server服務SftpGo

sftpgo主要組成
  • 服務端主程序: sftpgosever

  • cli腳本: sftpcli

數(shù)據(jù)目錄

如何理解sftp server服務SftpGo

  • conf存儲服務配置文件

  • data創(chuàng)建sftp用戶目錄

  • backups存儲應用備份數(shù)據(jù)

本次基于k8s運行服務、mysql5.7做持久化存儲、騰訊云NFS服務做數(shù)據(jù)目錄、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": ""
       }
}
運行應用

   以上服務配置準備完成之后,運行容器會在數(shù)據(jù)庫中自動生成對應的表<br />如何理解sftp server服務SftpGo

提供服務外部入庫
1. 設置內網(wǎng)服務入口
apiVersion: v1
kind: Service
metadata:
 name: sftpgo
 namespace: sftp
spec:
 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: LoadBalancer
status:
 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服務對應的內網(wǎng)ip:2022; } } kind: ConfigMap metadata: name: tcp-config namespace: sftp

##### 3.測試下服務狀態(tài)以及數(shù)據(jù)目錄權限
![image.png](https://oscimg.oschina.net/oscnet/up-bee83bd7e27b4e982526a9d3c88a450f7fe.png)
<br />測試ok:數(shù)據(jù)權限UID GID需要設置為1003.<br />

##### 4. 設置域名解析到nginx的externalIps即可實現(xiàn)域名訪問
![image.png](https://oscimg.oschina.net/oscnet/up-331b767e5d7c85d5f06f1a9c01daa105227.png)

---
<br/>
<br/>
附:

看完上述內容,你們掌握如何理解sftp server服務SftpGo的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)站標題:如何理解sftpserver服務SftpGo
文章分享:http://muchs.cn/article32/ghsgsc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、微信小程序、移動網(wǎng)站建設、微信公眾號、服務器托管、用戶體驗

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化