Acasă
» LINUX
»
Cum se configurează redirecționarea X11 pe Linux prin SSH
Cum se configurează redirecționarea X11 pe Linux prin SSH
Redirecționarea X11 vă permite să rulați o aplicație grafică Linux pe un computer la distanță și să afișați fereastra acesteia pe desktopul local prin SSH. Configurați-o activând redirecționarea pe serverul SSH la distanță, confirmând că serverul are xauth, verificând dacă desktopul local are un afișaj X și conectându-vă la ssh -X. Aceasta redirecționează ferestrele individuale ale aplicațiilor; nu creează o sesiune completă desktop la distanță.
Ce ai nevoie înainte de configurare
Calculatorul pe care tastați comanda SSH este clientul . Acesta are nevoie de clientul OpenSSH și de o sesiune grafică activă pe desktop cu un afișaj X. Multe desktop-uri Linux oferă acest lucru direct sau prin XWayland atunci când sesiunea utilizează Wayland. Dacă echo "$DISPLAY"pe desktop-ul local nu se afișează nimic, nu există niciun afișaj pe care SSH să îl poată utiliza în shell-ul respectiv.
Calculatorul la distanță este serverul . Acesta are nevoie de serverul OpenSSH și de xauthutilitar, astfel încât SSH să poată crea cookie-ul de autorizare temporar utilizat pentru afișarea redirecționată. Pe Debian sau Ubuntu, instalați-le pe sistemul la distanță cu sudo apt updateși sudo apt install openssh-server xauth. Pe o altă distribuție, utilizați managerul de pachete pentru a instala serverul OpenSSH și pachetul care oferă xauth. Mențineți o autentificare SSH obișnuită funcțională înainte de a modifica configurația.
Verificați dacă terminalul local poate rula clientul OpenSSH; serverul la distanță are nevoie și de xauth.
Configurați redirecționarea X11 prin SSH
1. Activați redirecționarea în configurația serverului
Pe computerul la distanță, editați fișierul de configurare a serverului , de obicei /etc/ssh/sshd_config, utilizând un editor cu privilegii de administrator:
sudoedit /etc/ssh/sshd_config
Găsiți o setare activă existentă X11Forwardingși schimbați-o la:
X11Forwarding yes
Dacă setarea lipsește, adăugați-o în secțiunea globală înaintea oricărui Matchbloc. Unele distribuții încarcă și fișiere din /etc/ssh/sshd_config.d/; verificați fișierele incluse pentru setări conflictuale. O Matchregulă sau DisableForwarding yespoate împiedica în continuare redirecționarea pentru un anumit cont. Lăsați-o X11UseLocalhostla valoarea implicită, cu excepția cazului în care aveți o problemă specifică de compatibilitate: OpenSSH leagă în mod normal proxy-ul de redirecționare la loopback. Manualul oficial sshd_config descrie aceste opțiuni pe partea de server.
Configurarea serverului aparține fișierului sshd_config, nu fișierului client SSH ssh_config.
2. Validați configurația și reîncărcați SSH-ul
Înainte de a reîncărca daemonul, verificați fișierul pentru erori de sintaxă și confirmați valoarea efectivă de redirecționare:
Prima comandă ar trebui să se încheie fără eroare; a doua ar trebui să raporteze eroarea x11forwarding yes. Dacă utilizați Matchreguli, testați configurația efectivă pentru utilizatorul și conexiunea relevantă, așa cum este descris în manualul OpenSSH. Remediați orice eroare înainte de reîncărcare, pentru a nu întrerupe accesul SSH.
Reîncărcați numele serviciului utilizat de distribuția dvs. Debian și Ubuntu folosesc în mod obișnuit:
sudo systemctl reload ssh
Sistemele Fedora și din familia RHEL utilizează în mod obișnuit:
sudo systemctl reload sshd
Dacă reîncărcarea nu este acceptată, utilizați restartpentru același serviciu. Mențineți sesiunea curentă deschisă și testați o conexiune nouă înainte de a o închide. Documentația serverului OpenSSH din Ubuntu acoperă fișierul serverului și fragmentele de configurare utilizate pe Ubuntu.
3. Conectați-vă de pe desktopul Linux local
Pe client, solicitați redirecționarea X11 nesigură cu -X:
ssh -X user@server.example.com
Înlocuiți numele de utilizator și gazda din exemplu cu ale dvs. Dacă serverul SSH ascultă pe un port non-standard, adăugați numărul portului său cu -p:
ssh -X -p 2222 user@server.example.com
După conectare, porniți un program grafic instalat pe gazda la distanță. Pentru o verificare rapidă, rulați xclockdacă aplicația de test este disponibilă sau lansați un alt program GUI instalat. SSH setează DISPLAYvaloarea sesiunii la distanță și redirecționează automat conexiunea X11; nu copiați valoarea afișată local pe server și nu o setați manual.
Opțiunea -Xsolicită redirecționarea X11 la începerea sesiunii SSH.O aplicație GUI redirecționată apare ca o fereastră pe desktopul local în timp ce sesiunea SSH rămâne deschisă.
Securitate și depanare
Se utilizează -Xîn mod implicit. -YOpțiunea activează redirecționarea de încredere, care elimină restricțiile de SECURITATE X11 și oferă aplicației la distanță acces mai larg la afișajul local. Folosiți-o numai cu un server și o aplicație în care aveți încredere. OpenSSH avertizează că redirecționarea X11 poate expune afișajul clientului la atacuri; consultați manualul ssh și manualul ssh_config pentru distincția dintre redirecționarea de încredere și cea nede încredere.
„Cererea de redirecționare X11 a eșuat”:X11Forwarding Verificați valoarea efectivă a serverului , confirmați xauthcă este instalat pe gazda la distanță și căutați un Matchbloc sau DisableForwardingo setare restrictivă.
DISPLAYeste gol în sesiunea la distanță: Deconectați-vă și reconectați-vă cu ssh -X. Confirmați că shell-ul local are un afișaj grafic care rulează și că conexiunea ajunge la serverul pe care tocmai l-ați configurat.
Fereastra spune că nu poate deschide un ecran: Verificați dacă sesiunea desktop locală este încă activă. O shell fără acces la ecranul desktop nu poate afișa ferestrele redirecționate.
xclocknu este găsit: Programul de testare este pur și simplu absent. Încercați o aplicație GUI deja instalată pe mașina la distanță; acest mesaj în sine nu dovedește că redirecționarea SSH este defectă.
Redirecționarea X11 este convenabilă pentru instrumentele ocazionale la distanță, dar aplicațiile grafice care redesenează frecvent pot părea lente pe o conexiune cu latență ridicată. Pentru un desktop complet sau pentru o activitate cu grafică intensă, utilizați o soluție desktop la distanță concepută special pentru această activitate.