fixato sftp
This commit is contained in:
@@ -1,70 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# Script per cambiare la porta SSH delle VM da 22 a 2222
|
|
||||||
# Questo permette ai container SFTP di usare la porta 22 standard
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
NEW_SSH_PORT=2222
|
|
||||||
SSH_CONFIG="/etc/ssh/sshd_config"
|
|
||||||
|
|
||||||
echo "================================================"
|
|
||||||
echo "Cambio porta SSH della VM da 22 a $NEW_SSH_PORT"
|
|
||||||
echo "================================================"
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
# Backup della configurazione originale
|
|
||||||
if [ ! -f "${SSH_CONFIG}.backup" ]; then
|
|
||||||
echo "Creazione backup di $SSH_CONFIG..."
|
|
||||||
cp "$SSH_CONFIG" "${SSH_CONFIG}.backup"
|
|
||||||
echo "✓ Backup creato: ${SSH_CONFIG}.backup"
|
|
||||||
else
|
|
||||||
echo "✓ Backup già esistente: ${SSH_CONFIG}.backup"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Modifica la porta SSH
|
|
||||||
echo ""
|
|
||||||
echo "Modifica della porta SSH a $NEW_SSH_PORT..."
|
|
||||||
|
|
||||||
# Rimuovi eventuali configurazioni Port esistenti e aggiungi la nuova
|
|
||||||
grep -v "^Port " "$SSH_CONFIG" | grep -v "^#Port " > "${SSH_CONFIG}.tmp"
|
|
||||||
echo "Port $NEW_SSH_PORT" | cat - "${SSH_CONFIG}.tmp" > "$SSH_CONFIG"
|
|
||||||
rm "${SSH_CONFIG}.tmp"
|
|
||||||
|
|
||||||
echo "✓ Configurazione SSH aggiornata"
|
|
||||||
|
|
||||||
# Verifica la configurazione
|
|
||||||
echo ""
|
|
||||||
echo "Verifica della configurazione SSH..."
|
|
||||||
if sshd -t; then
|
|
||||||
echo "✓ Configurazione SSH valida"
|
|
||||||
else
|
|
||||||
echo "✗ ERRORE: Configurazione SSH non valida!"
|
|
||||||
echo "Ripristino del backup..."
|
|
||||||
cp "${SSH_CONFIG}.backup" "$SSH_CONFIG"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Riavvia il servizio SSH
|
|
||||||
echo ""
|
|
||||||
echo "Riavvio del servizio SSH..."
|
|
||||||
systemctl restart sshd
|
|
||||||
echo "✓ Servizio SSH riavviato"
|
|
||||||
|
|
||||||
# Mostra lo status
|
|
||||||
echo ""
|
|
||||||
echo "Status del servizio SSH:"
|
|
||||||
systemctl status sshd --no-pager -l | head -10
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "================================================"
|
|
||||||
echo "✓ Porta SSH cambiata con successo!"
|
|
||||||
echo "================================================"
|
|
||||||
echo ""
|
|
||||||
echo "IMPORTANTE:"
|
|
||||||
echo " - SSH ora ascolta sulla porta $NEW_SSH_PORT"
|
|
||||||
echo " - Connettiti con: ssh -p $NEW_SSH_PORT root@<ip-vm>"
|
|
||||||
echo " - La porta 22 è ora disponibile per i container SFTP"
|
|
||||||
echo ""
|
|
||||||
echo "Per verificare:"
|
|
||||||
echo " ss -tlnp | grep sshd"
|
|
||||||
echo ""
|
|
||||||
6
scripts/sync_modifche_vm.sh
Executable file
6
scripts/sync_modifche_vm.sh
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
rsync -avz --exclude='*.pyc' --exclude '__pycache__/' /home/alex/devel/ASE/src /home/alex/devel/proxmox-ha-setup/vm1/
|
||||||
|
rsync -avz --exclude='*.pyc' --exclude '__pycache__/' /home/alex/devel/ASE/src /home/alex/devel/proxmox-ha-setup/vm2/
|
||||||
|
rsync -avz -e "ssh -p 2222" --exclude='*.pyc' /home/alex/devel/proxmox-ha-setup/vm1/ root@192.168.1.201:/opt/myapp/
|
||||||
|
rsync -avz -e "ssh -p 2222" --exclude='*.pyc' /home/alex/devel/proxmox-ha-setup/vm2/ root@192.168.1.202:/opt/myapp/
|
||||||
@@ -15,12 +15,12 @@ echo "=== Test Failover HA ==="
|
|||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
# Determina chi ha il VIP
|
# Determina chi ha il VIP
|
||||||
if ssh root@$VM1_IP "ip addr show | grep -q $VIP" &>/dev/null; then
|
if ssh -p 2222 root@$VM1_IP "ip addr show | grep -q $VIP" &>/dev/null; then
|
||||||
MASTER_VM=$VM1_IP
|
MASTER_VM=$VM1_IP
|
||||||
MASTER_NAME="VM1"
|
MASTER_NAME="VM1"
|
||||||
BACKUP_VM=$VM2_IP
|
BACKUP_VM=$VM2_IP
|
||||||
BACKUP_NAME="VM2"
|
BACKUP_NAME="VM2"
|
||||||
elif ssh root@$VM2_IP "ip addr show | grep -q $VIP" &>/dev/null; then
|
elif ssh -p 2222 root@$VM2_IP "ip addr show | grep -q $VIP" &>/dev/null; then
|
||||||
MASTER_VM=$VM2_IP
|
MASTER_VM=$VM2_IP
|
||||||
MASTER_NAME="VM2"
|
MASTER_NAME="VM2"
|
||||||
BACKUP_VM=$VM1_IP
|
BACKUP_VM=$VM1_IP
|
||||||
|
|||||||
@@ -110,16 +110,18 @@ services:
|
|||||||
DB_HOST: ${VIP:-192.168.1.210}
|
DB_HOST: ${VIP:-192.168.1.210}
|
||||||
FTP_INSTANCE_ID: 11
|
FTP_INSTANCE_ID: 11
|
||||||
FTP_MODE: sftp
|
FTP_MODE: sftp
|
||||||
|
FTP_PORT: "22"
|
||||||
TZ: Europe/Rome
|
TZ: Europe/Rome
|
||||||
volumes:
|
volumes:
|
||||||
- app-logs:/app/logs
|
- app-logs:/app/logs
|
||||||
- ./aseftp:/app/aseftp
|
- ./aseftp:/app/aseftp
|
||||||
|
- ./ssh_host_key:/app/ssh_host_key:ro
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- /etc/timezone:/etc/timezone:ro
|
- /etc/timezone:/etc/timezone:ro
|
||||||
networks:
|
networks:
|
||||||
- app-network
|
- app-network
|
||||||
expose:
|
ports:
|
||||||
- "22"
|
- "22:22"
|
||||||
labels:
|
labels:
|
||||||
logging: "promtail"
|
logging: "promtail"
|
||||||
|
|
||||||
@@ -133,7 +135,6 @@ services:
|
|||||||
- app-network
|
- app-network
|
||||||
ports:
|
ports:
|
||||||
- "21:21"
|
- "21:21"
|
||||||
- "22:22"
|
|
||||||
- "8404:8404"
|
- "8404:8404"
|
||||||
labels:
|
labels:
|
||||||
logging: "promtail"
|
logging: "promtail"
|
||||||
|
|||||||
@@ -31,11 +31,3 @@ frontend ftp_control
|
|||||||
backend ftp_servers
|
backend ftp_servers
|
||||||
mode tcp
|
mode tcp
|
||||||
server ftp1 ftp-server-1:21 check
|
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
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ class Config:
|
|||||||
c.read([f"{ENV_PARENT_PATH}/env/ftp.ini", f"{ENV_PARENT_PATH}/env/db.ini"])
|
c.read([f"{ENV_PARENT_PATH}/env/ftp.ini", f"{ENV_PARENT_PATH}/env/db.ini"])
|
||||||
|
|
||||||
# FTP setting (with environment variable override for Docker)
|
# 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
|
# FTP_PASSIVE_PORTS: override della porta iniziale del range passivo
|
||||||
self.firstport = int(os.getenv("FTP_PASSIVE_PORTS", c.getint("ftpserver", "firstPort")))
|
self.firstport = int(os.getenv("FTP_PASSIVE_PORTS", c.getint("ftpserver", "firstPort")))
|
||||||
|
|||||||
@@ -185,7 +185,6 @@ async def start_sftp_server(cfg, host='0.0.0.0', port=22):
|
|||||||
port,
|
port,
|
||||||
server_host_keys=['/app/ssh_host_key'], # You'll need to generate this
|
server_host_keys=['/app/ssh_host_key'], # You'll need to generate this
|
||||||
sftp_factory=SFTPFileHandler,
|
sftp_factory=SFTPFileHandler,
|
||||||
session_encoding=None, # Binary mode for file transfers
|
|
||||||
)
|
)
|
||||||
|
|
||||||
logger.info(f"SFTP server started successfully on {host}:{port}")
|
logger.info(f"SFTP server started successfully on {host}:{port}")
|
||||||
|
|||||||
49
vm1/ssh_host_key
Normal file
49
vm1/ssh_host_key
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
-----BEGIN OPENSSH PRIVATE KEY-----
|
||||||
|
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAACFwAAAAdzc2gtcn
|
||||||
|
NhAAAAAwEAAQAAAgEAvotTfwDLHQvwjfDcHcSUyh3a8DAt/iOjIQPWE+0OeQ6UUnetponB
|
||||||
|
jjgXt5S/XTV2pV+AMnu4syz7Bu+kB6ohdT5oA5uWeOztKLw7d6DWNuaiWs0A6+Lu3THw+P
|
||||||
|
c3BelTv1wKCang5r3lGcKwFG5tFxkd7kwWzTCO/bR7fxXpRq1IGPP6vXnxVB8r5BHe91Bh
|
||||||
|
HJ2982kT2g+HZLxhlCC4lsBOdzAZBuDAyEm1SMa+ixslAy3f0qEvB3FWs9Lp5D7wzg2iXD
|
||||||
|
csn56fHJILbvqA7EujoWEfa01YgpPTRFItyKvGNjxNSLkjLIhGaBHNLGHcq1iFPl5wP+em
|
||||||
|
nodgOdeASgxMAURKb62ojSgHObmVFitnlhkR8JRf2wIajqolv3xGliTm+1HUl17PxOeSzM
|
||||||
|
QFZbyfRRjbP94JHZVJwYTJj8XF5iPKrYVXuTbKpJ0g2hUf75+ky3v4Qf44ClFJ7I9/X4ly
|
||||||
|
pYiaSwBrz0m0dhryEPtkBDw9CS8CJjQxZW2apQqb7rPVEqMngfcvST9ZEPe1dlRe3/CM2S
|
||||||
|
zqKvgsKkRYi+ug3yTXYqKXrmiChdVl2Ib8tulta548VA1YpCTw5WrEAU8toIld91Arp+C0
|
||||||
|
Q3ZFPQObG2etLYiyLeuzAByzzg6S5MBGaAYlUFs0wAa3HqHvv199y7GlMCb3y3CvwRgVUG
|
||||||
|
8AAAdI1DHeqNQx3qgAAAAHc3NoLXJzYQAAAgEAvotTfwDLHQvwjfDcHcSUyh3a8DAt/iOj
|
||||||
|
IQPWE+0OeQ6UUnetponBjjgXt5S/XTV2pV+AMnu4syz7Bu+kB6ohdT5oA5uWeOztKLw7d6
|
||||||
|
DWNuaiWs0A6+Lu3THw+Pc3BelTv1wKCang5r3lGcKwFG5tFxkd7kwWzTCO/bR7fxXpRq1I
|
||||||
|
GPP6vXnxVB8r5BHe91BhHJ2982kT2g+HZLxhlCC4lsBOdzAZBuDAyEm1SMa+ixslAy3f0q
|
||||||
|
EvB3FWs9Lp5D7wzg2iXDcsn56fHJILbvqA7EujoWEfa01YgpPTRFItyKvGNjxNSLkjLIhG
|
||||||
|
aBHNLGHcq1iFPl5wP+emnodgOdeASgxMAURKb62ojSgHObmVFitnlhkR8JRf2wIajqolv3
|
||||||
|
xGliTm+1HUl17PxOeSzMQFZbyfRRjbP94JHZVJwYTJj8XF5iPKrYVXuTbKpJ0g2hUf75+k
|
||||||
|
y3v4Qf44ClFJ7I9/X4lypYiaSwBrz0m0dhryEPtkBDw9CS8CJjQxZW2apQqb7rPVEqMngf
|
||||||
|
cvST9ZEPe1dlRe3/CM2SzqKvgsKkRYi+ug3yTXYqKXrmiChdVl2Ib8tulta548VA1YpCTw
|
||||||
|
5WrEAU8toIld91Arp+C0Q3ZFPQObG2etLYiyLeuzAByzzg6S5MBGaAYlUFs0wAa3HqHvv1
|
||||||
|
99y7GlMCb3y3CvwRgVUG8AAAADAQABAAACAE/CES65vcuISmaXugOJ3EAoNBNTD4VwFGIG
|
||||||
|
8Y7ArUy18hb8+oaZ5heqWh8hl+KjtOivK4G2MQ9rFh6Go/IDYGLrvu03rMosXm8tL3U5MU
|
||||||
|
Gk07PPWQHkKVkUhQoprPIAA2q304nM/pOHTEU2ra63tFk1TcaIOgkkuM3wxLrjCJTphqLP
|
||||||
|
SZcTWpV8QMqEQoDiN+wbCT5ArysZUfK0OeIfujR8Bbw1OVycKoYL+GKgsnSW5azJgIVxq7
|
||||||
|
ZhVkoKUJYWVITjxyDzhW3BH1f9t+R53gpK9RDhjx3Cr/hkeUwBXCHB6UOdhToaKOOEnXgF
|
||||||
|
b40S36QndwquzCyrwh5ci0Za8tsTAw0IVET9vUMSnhF3Hh/QQNgbdzPqo3nU2o+yVUVjgC
|
||||||
|
WxDYuCxXJ9QxNLEItAB+Co4QHeKNBro6LLDrhu17pcW8fihSCthnCAoO8pQAqnxGeQDs0D
|
||||||
|
Lsy0kpqqYd8lceTZnBJcYHOPbC+HLp0bEnf9KTJSB2uXe367LXDP5ZTo/a3EBB4xJF8dpl
|
||||||
|
B8BMmYlZ9MVtrsgAxJoJpOiJ4y4+p9l3GIp7pcPlaeKu7d00+l+dyd4EiA5wJ3BhA2KT6A
|
||||||
|
SQKTUf9gkPaV1onhHascZwCW9f/IOK87vSNiXbv7F6k8LaMjJmyXVMqcxCJPbdHF9ykvRA
|
||||||
|
p4KjyodOdliJFZl2ZxAAABAAwSd3DupJt4p3PAkBTqqvXzBdJDdEWKSAVJ41hw4aVRIcsM
|
||||||
|
ceCPP3AOfgrlzZFtYCz64bMJMlrfZqevVb0x3D/V4yOrtSU9F5DtJe45CVxGkZU55Td1Oy
|
||||||
|
vShfa7Pq4zrla/DnUxvKoJ3V8IuQsmMv8X/1X6FMtFrA3WyjBYDNSkms1viJZOzu8+Okri
|
||||||
|
noB3va0PsmXVksUHMbI/5BE8q9nrUu5D8XZXObTKmJN/X7xr7ZFxOWvmAf7VcoqofANzJZ
|
||||||
|
MXn50A13waKrQz6r984+E0F4mJI9+RboeYQZYscQQ4unfdWkew/EAGtcu+wslMwHULWGu8
|
||||||
|
7QUhzGuqWvVQeaQAAAEBAOPJtB1pwIGyZB3mFvRIi+CGV7ecVKjDCJ/1lllGXnUYtWPxx+
|
||||||
|
/UQrdiDr2LydulrdsaXMJvEYij7CNJfmn2j3/yvtRWYRpUL/QSMLc/LxIhVKL+Ep1BS3Vh
|
||||||
|
2YJNPm6k8IHKRy/WfBKakDOpn0bjpLv/0u4ZH3ayeFMIBbSrqBK4RieI8qNJRL3zOkJ8ar
|
||||||
|
cp5gJ9YkznjSukJ+2yZBcPBqyqaSG+wKQRV6R/D4l7fcWNUj4Gr5A3ZxKdvEkK3BZSvSEV
|
||||||
|
obQnedDq170uw0K8F3m4jTfFdbkASm+Ctj6VuaVYo8fY77+Xm+ePPCJZS3kHhSsx6akSL0
|
||||||
|
DniXB+Exk3tP8AAAEBANYkxC/w3hyQ6iEIk/FYXU8KW2oQtm3rwbyXVBZ2wrZ9YU4HA9CO
|
||||||
|
zyYFaqrBJPk1Jzy85bHwlSY3g36+ZaC/B1h5NtOgvrXRaLqI3IuWf+nlRUg/Ei1mMOOA46
|
||||||
|
pshh597EGFfsHar7D4b8W5pero4mKD6Yfe1OytS7qI7dJ9foTitqWY9ULcp6xn9a0fQ8qa
|
||||||
|
+NMXGJIFwR/jW/puFWj/NMylegwZYkVd5APE7ZXFmcbNCflsIl+rX1e8t/SruCL0a2UKM2
|
||||||
|
6b6eKqcJw+kiHQLo7uyZLq/nSKh57y/1bagiNekiuMN2zYBB+FXaKL9dlNGHN9l6Cn5kXP
|
||||||
|
KL+7zu08NJEAAAARU0ZUUC1WTTEtSG9zdC1LZXkBAg==
|
||||||
|
-----END OPENSSH PRIVATE KEY-----
|
||||||
1
vm1/ssh_host_key.pub
Normal file
1
vm1/ssh_host_key.pub
Normal 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
|
||||||
@@ -84,16 +84,18 @@ services:
|
|||||||
DB_HOST: ${VIP:-192.168.1.210}
|
DB_HOST: ${VIP:-192.168.1.210}
|
||||||
FTP_INSTANCE_ID: 12
|
FTP_INSTANCE_ID: 12
|
||||||
FTP_MODE: sftp
|
FTP_MODE: sftp
|
||||||
|
FTP_PORT: "22"
|
||||||
TZ: Europe/Rome
|
TZ: Europe/Rome
|
||||||
volumes:
|
volumes:
|
||||||
- app-logs:/app/logs
|
- app-logs:/app/logs
|
||||||
- ./aseftp:/app/aseftp
|
- ./aseftp:/app/aseftp
|
||||||
|
- ./ssh_host_key:/app/ssh_host_key:ro
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- /etc/timezone:/etc/timezone:ro
|
- /etc/timezone:/etc/timezone:ro
|
||||||
networks:
|
networks:
|
||||||
- app-network
|
- app-network
|
||||||
expose:
|
ports:
|
||||||
- "22"
|
- "22:22"
|
||||||
labels:
|
labels:
|
||||||
logging: "promtail"
|
logging: "promtail"
|
||||||
|
|
||||||
@@ -107,7 +109,6 @@ services:
|
|||||||
- app-network
|
- app-network
|
||||||
ports:
|
ports:
|
||||||
- "21:21"
|
- "21:21"
|
||||||
- "22:22"
|
|
||||||
- "8404:8404"
|
- "8404:8404"
|
||||||
labels:
|
labels:
|
||||||
logging: "promtail"
|
logging: "promtail"
|
||||||
|
|||||||
@@ -31,11 +31,3 @@ frontend ftp_control
|
|||||||
backend ftp_servers
|
backend ftp_servers
|
||||||
mode tcp
|
mode tcp
|
||||||
server ftp2 ftp-server-2:21 check
|
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
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ class Config:
|
|||||||
c.read([f"{ENV_PARENT_PATH}/env/ftp.ini", f"{ENV_PARENT_PATH}/env/db.ini"])
|
c.read([f"{ENV_PARENT_PATH}/env/ftp.ini", f"{ENV_PARENT_PATH}/env/db.ini"])
|
||||||
|
|
||||||
# FTP setting (with environment variable override for Docker)
|
# 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
|
# FTP_PASSIVE_PORTS: override della porta iniziale del range passivo
|
||||||
self.firstport = int(os.getenv("FTP_PASSIVE_PORTS", c.getint("ftpserver", "firstPort")))
|
self.firstport = int(os.getenv("FTP_PASSIVE_PORTS", c.getint("ftpserver", "firstPort")))
|
||||||
|
|||||||
@@ -185,7 +185,6 @@ async def start_sftp_server(cfg, host='0.0.0.0', port=22):
|
|||||||
port,
|
port,
|
||||||
server_host_keys=['/app/ssh_host_key'], # You'll need to generate this
|
server_host_keys=['/app/ssh_host_key'], # You'll need to generate this
|
||||||
sftp_factory=SFTPFileHandler,
|
sftp_factory=SFTPFileHandler,
|
||||||
session_encoding=None, # Binary mode for file transfers
|
|
||||||
)
|
)
|
||||||
|
|
||||||
logger.info(f"SFTP server started successfully on {host}:{port}")
|
logger.info(f"SFTP server started successfully on {host}:{port}")
|
||||||
|
|||||||
49
vm2/ssh_host_key
Normal file
49
vm2/ssh_host_key
Normal 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
1
vm2/ssh_host_key.pub
Normal 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
|
||||||
Reference in New Issue
Block a user