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
166 lines
6.2 KiB
Markdown
166 lines
6.2 KiB
Markdown
# 🔐 Bitvise SSH Server Setup pentru ROA2WEB
|
|
|
|
Instrucțiuni pentru configurarea cheii SSH în Bitvise SSH Server pe Windows.
|
|
|
|
## 🔑 Cheia SSH Publică
|
|
|
|
### 📋 Format OpenSSH (încercați primul):
|
|
```
|
|
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
|
|
```
|
|
|
|
### 🔧 Format RFC4716 (dacă primul spune "Input is not valid"):
|
|
```
|
|
---- BEGIN SSH2 PUBLIC KEY ----
|
|
Comment: "4096-bit RSA, converted by marius@Mihai-HXG0G from OpenSSH"
|
|
AAAAB3NzaC1yc2EAAAADAQABAAACAQCcRM+WWxoBqCSpaTo+vNCrvCLx1UFmKqqSh6smS4
|
|
c/lh1Hkku+oiq65iUHwRMu5X9jDXSGUR1Fmig+OgIhoTnT4Hd3v4Fe2zienOFiJ/AZOTE+
|
|
pgxpwmIrkScGTSv7ZSp4xFcXsFwho8W/Li0P0kyB+kGs2tFYaQM192E5Gx9qjlPGSM55fd
|
|
ksElRXKIrRHE4ARjt5+kMt4WFgUXpVNqhHQFEcz/oW6sC0OkufTbzQ+MHefBIlMNUlNHRx
|
|
bHc3C6CTuMmzMM847y6rmQlDyScX0tizDhUnQ1UgA3ZyICJp9CVF4weAM6ihZhNTFi7drX
|
|
iCEihUVLNU+EuEpWdWeVNebqBqlkJT0KXR3IgEQ3zKYKuAmICFO056WI3eKcJWuWEFNDrS
|
|
Ysxo+HydAbqBSqEprJFCUSU90175ngnpY4WoH7CFUbCnGjxEnRXUjUktaCdqYhH0ZjGHSG
|
|
ujK+KGPVxvBi1h7BjE33SEH6PAVZBYmdpGDri69n6H+v6dhaW26scFcc6ldrOcbaRsX7q4
|
|
M8gFIwotAu6jTuid8FensF/j9yQRDkcOS8OWXHr5z2lZTCSDPik83p8mvvEZ/R7dP60ldw
|
|
z2INX8rbCxi5frEdijqrwZCq9D2tzUJJgG8h3KUKfd3QfThCyq6AdE9X2+EnmU1yP2SJso
|
|
lgM7euuDBH0/qQ==
|
|
---- END SSH2 PUBLIC KEY ----
|
|
```
|
|
|
|
## 📋 Pași pentru Bitvise SSH Server
|
|
|
|
### 1. 🖥️ Deschide Bitvise SSH Server Control Panel
|
|
|
|
- Lansează **Bitvise SSH Server Control Panel** pe serverul Windows
|
|
- Ar trebui să fie în System Tray sau în Start Menu
|
|
|
|
### 2. 👤 Configurează utilizatorul
|
|
|
|
**În Bitvise SSH Server Control Panel:**
|
|
|
|
1. **Click pe tab "Users"**
|
|
2. **Găsește utilizatorul tău** (sau creează unul nou dacă nu există)
|
|
3. **Double-click pe utilizator** pentru a-l edita
|
|
|
|
### 3. 🔐 Adaugă cheia SSH publică
|
|
|
|
**În fereastra User Properties:**
|
|
|
|
1. **Authentication tab:**
|
|
- Setează **"Public key authentication"** la **"Required"** sau **"Optional"**
|
|
|
|
2. **Public Keys section:**
|
|
- Click pe **"Import"** sau **"Add"**
|
|
- **Paste** cheia publică de mai sus în câmpul text
|
|
- Sau salvează cheia într-un fișier `.pub` și importă fișierul
|
|
|
|
3. **Virtual filesystem:**
|
|
- Asigură-te că utilizatorul are acces la directorul de lucru dorit
|
|
- De obicei setează **Root directory** la `C:\` sau un folder specific
|
|
|
|
### 4. ✅ Salvează configurația
|
|
|
|
1. **Click "OK"** pentru a salva setările utilizatorului
|
|
2. **Apply Configuration** în Control Panel principal
|
|
3. **Restart SSH Server** dacă este necesar
|
|
|
|
## 🔧 Configurare WSL SSH Tunnel Script
|
|
|
|
**Editează `ssh_tunnel.sh` cu username-ul corect:**
|
|
|
|
```bash
|
|
nano /mnt/d/PROIECTE/roa-flask/ssh_tunnel.sh
|
|
|
|
# Găsește și actualizează:
|
|
SSH_USER="your_bitvise_username" # Numele utilizatorului din Bitvise
|
|
```
|
|
|
|
## 🧪 Testarea conexiunii
|
|
|
|
### 1. Test manual SSH:
|
|
```bash
|
|
ssh -p 22122 -i ~/.ssh/roa_oracle_server your_username@83.103.197.79
|
|
```
|
|
|
|
### 2. Test tunnel SSH:
|
|
```bash
|
|
cd /mnt/d/PROIECTE/roa-flask/roa2web
|
|
./ssh_tunnel.sh start
|
|
```
|
|
|
|
### 3. Test Oracle pool:
|
|
```bash
|
|
source venv/bin/activate
|
|
python shared/database/test_pool.py
|
|
```
|
|
|
|
## 🎯 Output așteptat
|
|
|
|
### SSH Connection Test:
|
|
```bash
|
|
$ ssh -p 22122 -i ~/.ssh/roa_oracle_server marius@83.103.197.79
|
|
Welcome to Bitvise SSH Server!
|
|
Microsoft Windows [Version 10.0.19044]
|
|
(c) Microsoft Corporation. All rights reserved.
|
|
|
|
C:\Users\marius>exit
|
|
```
|
|
|
|
### 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
|
|
```
|
|
|
|
## ❌ Troubleshooting Bitvise
|
|
|
|
### "Permission denied (publickey)"
|
|
- **Verifică**: Cheia SSH este corect adăugată în User Properties
|
|
- **Verifică**: Authentication method include "Public key"
|
|
- **Verifică**: Username-ul din script este corect
|
|
|
|
### "Connection refused"
|
|
- **Verifică**: Bitvise SSH Server este pornit și funcționează
|
|
- **Verifică**: Portul 22122 este configurat corect în server
|
|
- **Verifică**: Windows Firewall permite conexiuni pe port 22122
|
|
|
|
### "User access denied"
|
|
- **Verifică**: Utilizatorul există în lista Users din Bitvise
|
|
- **Verifică**: Utilizatorul are permisiuni de login (Account enabled)
|
|
- **Verifică**: Virtual filesystem este configurat corect
|
|
|
|
### "Input is not valid" în Bitvise
|
|
- **🔧 Soluție 1**: Folosește formatul **RFC4716** (vezi mai sus)
|
|
- **🔧 Soluție 2**: Salvează cheia într-un fișier `.pub` și importă fișierul în loc să faci paste
|
|
- **🔧 Soluție 3**: Asigură-te că nu ai spații extra la începutul/sfârșitul cheii
|
|
- **🔧 Soluție 4**: Încearcă să ștergi și să adaugi din nou utilizatorul în Bitvise
|
|
|
|
### Cheia SSH nu este acceptată
|
|
- **Format cheie**: Asigură-te că ai copiat toată cheia, inclusiv header-ul și comment-ul
|
|
- **Tip cheie**: Bitvise suportă RSA, DSA, ECDSA, Ed25519 - folosim RSA 4096
|
|
- **Import method**: Dacă paste nu funcționează, salvează într-un fișier și importă
|
|
- **Line endings**: Verifică că nu sunt caractere ascunse în cheie
|
|
|
|
## 📝 Note specifice Bitvise
|
|
|
|
1. **User management**: Bitvise are propriul sistem de utilizatori, independent de Windows users
|
|
2. **Virtual filesystem**: Poți controla la ce directoare are acces utilizatorul SSH
|
|
3. **Port forwarding**: Bitvise poate restricționa port forwarding - asigură-te că este permis
|
|
4. **Logging**: Verifică log-urile din Bitvise pentru detalii despre conexiuni failed
|
|
|
|
---
|
|
|
|
*Configurare Bitvise SSH Server pentru ROA2WEB Development* 🔐 |