# Acces de la distanță la stația de birou (și, prin ea, la Oracle-ul clienților) De ce: agentul Claude (LXC 171) poate trezi și accesa stația de birou a lui Marius (`LENOVO-AIO-BIROU`) fără nimeni prezent fizic, ca să ruleze operații care altfel ar cere GUI-ul Bitvise de acolo (ex. aplicarea unui pachet Oracle la un client). Prima aplicare: `PACK_CONTAFIN` la ROMCONSTRUCT, 2026-09-10. Nu duplică `diagnostic-spatiu-clienti.md` §6 (tunelul Bitvise + sqlplus către un client) — doar adaugă pasul de dinainte: cum ajungi de pe LXC 171 pe stația de birou, ca să rulezi de acolo procedura deja documentată. ## 1. Trezire (Wake-on-LAN) Stația (`10.0.20.144`, Tailscale: `lenovo-aio-birou` / `100.86.46.43`) e pe **aceeași rețea L2** ca LXC 171 (`10.0.20.0/24`) — nu e nevoie de aplicația Wake-on-LAN de pe Portainer (`100.80.138.86:5004`), un magic packet trimis direct pe broadcast ajunge la fel de bine: ```python import socket mac = 'e4a8df972e5c' # LENOVO-AIO-BIROU data = b'\xff'*6 + bytes.fromhex(mac)*16 s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) s.sendto(data, ('10.0.20.255', 9)) ``` MAC-ul poate fi recitit din cache-ul ARP local dacă lipsește: `ip neigh show 10.0.20.144` (rămâne populat chiar cu mașina oprită, din trafic anterior). Boot complet: ~15-20s până răspunde la ping. ## 2. SSH către stație User Windows: `mmari` (OpenSSH nativ Windows, port 22 — nu Bitvise). Cheia publică a agentului e autorizată în `C:\Users\mmari\.ssh\authorized_keys`: ```bash ssh -i ~/.ssh/id_ed25519 mmari@10.0.20.144 ``` Cheia: `docs/chei-publice/claude-agent-lxc171.pub` (`SHA256:5D7y0lTqWKf6e2agUK0Nol+duxoipPYb3y6Rhk4nXtw`). Shell-ul e PowerShell, nu bash — `;` în loc de `&&`/`&` ca separator de comenzi. ## 3. De acolo: tunel Oracle către un client Exact procedura din `diagnostic-spatiu-clienti.md` §6 (profil `.tlp`/`.bscp` din `D:\GoogleDrive`, `stnlc.exe`, `sqlplus.exe`) — **regula de acolo rămâne valabilă**: tunelul spre un client e strict read-only, în afara cazului în care chiar scopul e o scriere controlată (aplicare pachet), cu backup luat înainte (`DBMS_METADATA.GET_DDL`). **Capcană nouă, specifică rulării prin SSH (nu apare cu sesiune interactivă la consolă):** OpenSSH pe Windows pune procesele pornite într-o sesiune într-un **job object**; când sesiunea SSH se închide, Windows omoară și copiii ei — inclusiv `stnlc.exe` pornit cu `Start-Process` în fundal. Tunelul moare la finalul comenzii SSH care l-a pornit, chiar dacă procesul pare detașat. **Soluție**: pornire tunel + `sqlplus` (backup, apply, verify) **în același script, aceeași sesiune SSH** — nu în comenzi SSH separate. Vezi orchestrarea completă (tunel → backup DDL → apply → verify → stop tunel) în istoricul conversației Discord din 2026-09-10; nu e salvată ca script reutilizabil momentan (de scris în `tools/` dacă mai apare nevoia). ## Legături - `docs/acces-ssh-chei-angajati.md` — cheile de pe stația de birou folosite ca să te autentifici *către* clienți (invers față de acest document, care e acces *către* stație). - `docs/diagnostic-spatiu-clienti.md` §6 — tunelul Bitvise + sqlplus, regula read-only. - `docs/acces-client-tailscale-ssh.md` — alternativa fără Bitvise, pentru servere de client cu Tailscale + SSH direct (nu implică stația de birou).