fixato sftp

This commit is contained in:
2025-11-03 16:49:48 +01:00
parent b5d3e764e8
commit 5e71d323a9
15 changed files with 118 additions and 98 deletions

View File

@@ -110,16 +110,18 @@ services:
DB_HOST: ${VIP:-192.168.1.210}
FTP_INSTANCE_ID: 11
FTP_MODE: sftp
FTP_PORT: "22"
TZ: Europe/Rome
volumes:
- app-logs:/app/logs
- ./aseftp:/app/aseftp
- ./ssh_host_key:/app/ssh_host_key:ro
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
networks:
- app-network
expose:
- "22"
ports:
- "22:22"
labels:
logging: "promtail"
@@ -133,7 +135,6 @@ services:
- app-network
ports:
- "21:21"
- "22:22"
- "8404:8404"
labels:
logging: "promtail"

View File

@@ -31,11 +31,3 @@ frontend ftp_control
backend ftp_servers
mode tcp
server ftp1 ftp-server-1:21 check
frontend sftp_control
bind *:22
default_backend sftp_servers
backend sftp_servers
mode tcp
server sftp1 sftp-server-1:22 check

View File

@@ -18,7 +18,7 @@ class Config:
c.read([f"{ENV_PARENT_PATH}/env/ftp.ini", f"{ENV_PARENT_PATH}/env/db.ini"])
# FTP setting (with environment variable override for Docker)
self.service_port = c.getint("ftpserver", "service_port")
self.service_port = int(os.getenv("FTP_PORT", c.getint("ftpserver", "service_port")))
# FTP_PASSIVE_PORTS: override della porta iniziale del range passivo
self.firstport = int(os.getenv("FTP_PASSIVE_PORTS", c.getint("ftpserver", "firstPort")))

View File

@@ -185,7 +185,6 @@ async def start_sftp_server(cfg, host='0.0.0.0', port=22):
port,
server_host_keys=['/app/ssh_host_key'], # You'll need to generate this
sftp_factory=SFTPFileHandler,
session_encoding=None, # Binary mode for file transfers
)
logger.info(f"SFTP server started successfully on {host}:{port}")

49
vm1/ssh_host_key Normal file
View File

@@ -0,0 +1,49 @@
-----BEGIN OPENSSH PRIVATE KEY-----
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
-----END OPENSSH PRIVATE KEY-----

1
vm1/ssh_host_key.pub Normal file
View File

@@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC+i1N/AMsdC/CN8NwdxJTKHdrwMC3+I6MhA9YT7Q55DpRSd62micGOOBe3lL9dNXalX4Aye7izLPsG76QHqiF1PmgDm5Z47O0ovDt3oNY25qJazQDr4u7dMfD49zcF6VO/XAoJqeDmveUZwrAUbm0XGR3uTBbNMI79tHt/FelGrUgY8/q9efFUHyvkEd73UGEcnb3zaRPaD4dkvGGUILiWwE53MBkG4MDISbVIxr6LGyUDLd/SoS8HcVaz0unkPvDODaJcNyyfnp8ckgtu+oDsS6OhYR9rTViCk9NEUi3Iq8Y2PE1IuSMsiEZoEc0sYdyrWIU+XnA/56aeh2A514BKDEwBREpvraiNKAc5uZUWK2eWGRHwlF/bAhqOqiW/fEaWJOb7UdSXXs/E55LMxAVlvJ9FGNs/3gkdlUnBhMmPxcXmI8qthVe5NsqknSDaFR/vn6TLe/hB/jgKUUnsj39fiXKliJpLAGvPSbR2GvIQ+2QEPD0JLwImNDFlbZqlCpvus9USoyeB9y9JP1kQ97V2VF7f8IzZLOoq+CwqRFiL66DfJNdiopeuaIKF1WXYhvy26W1rnjxUDVikJPDlasQBTy2giV33UCun4LRDdkU9A5sbZ60tiLIt67MAHLPODpLkwEZoBiVQWzTABrceoe+/X33LsaUwJvfLcK/BGBVQbw== SFTP-VM1-Host-Key