Files
roa2web-service-auto/ssh-tunnel/docs/SSH_SETUP_INSTRUCTIONS.md
Marius Mutu 6b13ffa183 Initial commit: ROA2WEB - FastAPI + Vue.js + Telegram Bot
Modern ERP Reports Application with microservices architecture

Tech Stack:
- Backend: FastAPI + python-oracledb (Oracle DB integration)
- Frontend: Vue.js 3 + PrimeVue + Vite
- Telegram Bot: python-telegram-bot + SQLite
- Infrastructure: Shared database pool, JWT authentication, SSH tunnel

Features:
- FastAPI backend with async Oracle connection pool
- Vue.js 3 responsive frontend with PrimeVue components
- Telegram bot alternative interface
- Microservices architecture with shared components
- Complete deployment support (Linux Docker + Windows IIS)
- Comprehensive testing (Playwright E2E + pytest)

Repository Structure:
- reports-app/ - Main application (backend, frontend, telegram-bot)
- shared/ - Shared components (database pool, auth, utils)
- deployment/ - Deployment scripts (Linux & Windows)
- docs/ - Project documentation
- security/ - Security scanning and git hooks
2025-10-25 14:55:08 +03:00

5.6 KiB

🔐 SSH Setup Instructions pentru ROA2WEB

Instrucțiuni pentru configurarea tunelului SSH din WSL către serverul Oracle.

📋 Pași de Setup

1. 🔑 Generarea cheii SSH

Dacă nu ai cheia SSH generată, creează-o astfel:

# Generează cheia SSH (RSA 4096-bit)
ssh-keygen -t rsa -b 4096 -f ~/.ssh/roa_oracle_server -N "" -C "roa2web-wsl-$(whoami)@$(hostname)"

# Verifică că s-a creat
ls -la ~/.ssh/roa_oracle_server*

Output așteptat:

Generating public/private rsa key pair.
Your identification has been saved in /home/user/.ssh/roa_oracle_server
Your public key has been saved in /home/user/.ssh/roa_oracle_server.pub

Cheia SSH existentă este în: ~/.ssh/roa_oracle_server

Pentru a afișa cheia PUBLICĂ:

cat ~/.ssh/roa_oracle_server.pub

Cheia PUBLICĂ pentru server:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCcRM+WWxoBqCSpaTo+vNCrvCLx1UFmKqqSh6smS4c/lh1Hkku+oiq65iUHwRMu5X9jDXSGUR1Fmig+OgIhoTnT4Hd3v4Fe2zienOFiJ/AZOTE+pgxpwmIrkScGTSv7ZSp4xFcXsFwho8W/Li0P0kyB+kGs2tFYaQM192E5Gx9qjlPGSM55fdksElRXKIrRHE4ARjt5+kMt4WFgUXpVNqhHQFEcz/oW6sC0OkufTbzQ+MHefBIlMNUlNHRxbHc3C6CTuMmzMM847y6rmQlDyScX0tizDhUnQ1UgA3ZyICJp9CVF4weAM6ihZhNTFi7drXiCEihUVLNU+EuEpWdWeVNebqBqlkJT0KXR3IgEQ3zKYKuAmICFO056WI3eKcJWuWEFNDrSYsxo+HydAbqBSqEprJFCUSU90175ngnpY4WoH7CFUbCnGjxEnRXUjUktaCdqYhH0ZjGHSGujK+KGPVxvBi1h7BjE33SEH6PAVZBYmdpGDri69n6H+v6dhaW26scFcc6ldrOcbaRsX7q4M8gFIwotAu6jTuid8FensF/j9yQRDkcOS8OWXHr5z2lZTCSDPik83p8mvvEZ/R7dP60ldwz2INX8rbCxi5frEdijqrwZCq9D2tzUJJgG8h3KUKfd3QfThCyq6AdE9X2+EnmU1yP2SJsolgM7euuDBH0/qQ== roa2web-wsl-marius@Mihai-HXG0G

2. 📤 Instalarea cheii pe Bitvise SSH Server

🔴 IMPORTANT: Serverul folosește Bitvise SSH Server pe Windows

Consultă BITVISE_SSH_SETUP.md pentru instrucțiuni detaliate!

Pași rapid:

  1. Deschide Bitvise SSH Server Control Panel
  2. Mergi la Users tab → selectează/creează utilizatorul
  3. În User PropertiesAuthentication → setează Public key authentication
  4. În Public KeysImport/Add → paste cheia publică:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCcRM+WWxoBqCSpaTo+vNCrvCLx1UFmKqqSh6smS4c/lh1Hkku+oiq65iUHwRMu5X9jDXSGUR1Fmig+OgIhoTnT4Hd3v4Fe2zienOFiJ/AZOTE+pgxpwmIrkScGTSv7ZSp4xFcXsFwho8W/Li0P0kyB+kGs2tFYaQM192E5Gx9qjlPGSM55fdksElRXKIrRHE4ARjt5+kMt4WFgUXpVNqhHQFEcz/oW6sC0OkufTbzQ+MHefBIlMNUlNHRxbHc3C6CTuMmzMM847y6rmQlDyScX0tizDhUnQ1UgA3ZyICJp9CVF4weAM6ihZhNTFi7drXiCEihUVLNU+EuEpWdWeVNebqBqlkJT0KXR3IgEQ3zKYKuAmICFO056WI3eKcJWuWEFNDrSYsxo+HydAbqBSqEprJFCUSU90175ngnpY4WoH7CFUbCnGjxEnRXUjUktaCdqYhH0ZjGHSGujK+KGPVxvBi1h7BjE33SEH6PAVZBYmdpGDri69n6H+v6dhaW26scFcc6ldrOcbaRsX7q4M8gFIwotAu6jTuid8FensF/j9yQRDkcOS8OWXHr5z2lZTCSDPik83p8mvvEZ/R7dP60ldwz2INX8rbCxi5frEdijqrwZCq9D2tzUJJgG8h3KUKfd3QfThCyq6AdE9X2+EnmU1yP2SJsolgM7euuDBH0/qQ== roa2web-wsl-marius@Mihai-HXG0G
  1. OKApply ConfigurationRestart SSH Server dacă necesar

3. ⚙️ Configurarea username-ului

IMPORTANT: Folosește utilizatorul roa2web care are port forwarding activat în Bitvise!

În WSL, editează scriptul SSH:

nano /mnt/d/PROIECTE/roa-flask/ssh_tunnel.sh

Actualizează linia:

SSH_USER="roa2web"  # Utilizator cu port forwarding activat

💡 Notă: Utilizatorul roa2web poate să nu aibă shell access, dar poate face port forwarding.

4. 🚀 Testarea setup-ului

cd /mnt/d/PROIECTE/roa-flask/roa2web

# Afișează ajutorul
./ssh_tunnel.sh help

# Testează și pornește tunelul
./ssh_tunnel.sh start

# Verifică statusul
./ssh_tunnel.sh status

🔧 Comenzi utile

Gestionarea tunelului SSH:

# Pornește tunelul
./ssh_tunnel.sh start

# Oprește tunelul  
./ssh_tunnel.sh stop

# Verifică statusul
./ssh_tunnel.sh status

# Repornește tunelul
./ssh_tunnel.sh restart

Testarea pool-ului Oracle:

# Cu tunelul SSH activ
cd /mnt/d/PROIECTE/roa-flask/roa2web
source venv/bin/activate
python shared/database/test_pool.py

🔍 Troubleshooting

"Permission denied (publickey)"

  • Verifică că cheia publică este corect instalată pe server
  • Verifică permisiunile: chmod 600 ~/.ssh/authorized_keys
  • Verifică că SSH_USER este corect în script

"Connection refused" sau "Connection timed out"

  • Verifică că serverul SSH este accesibil: telnet 83.103.197.79 22122
  • Verifică că portul 22122 nu este blocat de firewall

"Port 1521 not responding"

  • Normal dacă Oracle listener nu este pornit pe server
  • Tunelul SSH poate fi OK, dar Oracle nu răspunde

Oracle connection errors

  • Verifică că tunelul SSH este activ: ./ssh_tunnel.sh status
  • Verifică că configurația Oracle din .env este corectă
  • Testează manual: telnet 127.0.0.1 1521

📊 Output așteptat

SSH Tunnel Start:

================================
 ROA2WEB SSH Tunnel Manager
================================
🔄 Starting SSH tunnel...
   Server: 83.103.197.79:22122
   Local:  127.0.0.1:1521
   Remote: localhost:1521

🔍 Testing SSH connectivity...
✅ SSH connectivity OK

🚀 Creating SSH tunnel...
✅ SSH tunnel started successfully (PID: 12345)
🔍 Testing tunnel connectivity...
✅ Tunnel is working! Port 1521 is accessible

Oracle Pool Test:

🚀 ROA2WEB Oracle Pool Test - 2025-07-30 16:00:00
==================================================
🔄 Testing Oracle connection pool...
📊 Initializing Oracle pool...
✅ Pool initialized successfully
🔍 Testing database connection...
✅ Simple query successful: (1,)
...
🎉 ALL TESTS PASSED!
✅ Oracle pool is fully functional and ready for production!

Instrucțiuni SSH pentru ROA2WEB Development Environment 🔐