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

@@ -84,16 +84,18 @@ services:
DB_HOST: ${VIP:-192.168.1.210}
FTP_INSTANCE_ID: 12
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"
@@ -107,7 +109,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 ftp2 ftp-server-2:21 check
frontend sftp_control
bind *:22
default_backend sftp_servers
backend sftp_servers
mode tcp
server sftp2 sftp-server-2: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
vm2/ssh_host_key Normal file
View File

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

1
vm2/ssh_host_key.pub Normal file
View File

@@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCpNAD/DQNpTQI5epGWoozsDKKKkyHDWguV6dXXOl2dKkkmBoU6DqVOOYPmaHCDSCbO3MnXY/8hb7yQSOD+IFps2izBOUbPNmvGKfM3M/fxzCOnSsn2/5NoGdF2RA71xwJ0/SKucaKrHfO3fD3XsYaveyICwYV3nMzOhAqR3Fjdcjy/4qbOySIacaVYGUz1nPdcUCmwWoc6qYquldiN+bm0BgtOB0fuVcFbc/WoQ/0uSNwy32ywuu3G4XjSKSccRvBoqayebS6++4JYR38uTGwZNIVGrqwOnaIzG+on1SVfbcvFeHe0K88x1nLDXGbz9Dsbmz2SevsEqgu+FDh1/Na04++EE7ZAXJfj/UUKXcW9fbOI/3WXXbd6/Rc3A+9/D+BLPWB7/mqGw+EaiBUOJizKCiC7txToMDHs3OAJrrSj93WoCj/fFpaCoRaMnlwgPcvhpX74yNLhfnlz0Ur2i7iosnaQJOcoDA01MTT859LgQa03nz/B1qCEB5tb+BcYoqyDPZmFSPg198PlvMRmhoBIvPYoFOVLMEB1Tegk3D9x4pE0ErT57W4R2QNsVqTx/8xx6Bxt2Unnrc72PCVoyxzT6TMgDbkZofkmUEWBDECEhVIBDEbOqj+oMcBtmTD0C8mU3+EggimKGsTJqaItURRfkC9op/kwIjjc343IYypoFw== SFTP-VM2-Host-Key