ububtu de management de la distanță, fără ip dedicat, concepte de web prea pro

Ai putea folosi TeamViewer (în cazul în care birourile non-profit :)), dar faptul este că, în chiar birourile oamenilor au doar drepturi normale de utilizare, în scopul de a utiliza PC-ul numai în scopuri de afaceri și nu pentru a merge, în cazul în care nu ceri. Un TeamViewer care rulează un utilizator obișnuit va avea propria - drepturile uzuale.

Pentru a evita confuzia în termeni de „client“, „server“ (pentru calculatorul de birou - serverul ssh VNC și client, în același timp, etc.). Definiți: calculator, care stă în birou la care doriți să vă conectați - PKOfis. SSH-server cu IP extern - "Server". Orice computer cu care vrem să controleze PKOfisom - „PKDom“.

PKOfis - instalarea de servicii necesare pentru Ubuntu 12.04

Lucrarea principală va fi de a PKOfis noastre, deoarece aceasta ar trebui să inițieze o conexiune ssh inversă și rulați serverul VNC ca root. Și utilizatorul root în Ubuntu sine off.

Instalați SSH-server

Așteptați până când instalarea este completă. Acum aveți nevoie pentru a face câteva modificări de configurare ssh din motive de securitate. După ce a făcut o copie de rezervă a config vechi.

La sfârșitul fișierului adăugați câteva rânduri:
USERNAME - se înlocuiește cu numele de utilizator al persoanei care vă permit să se conecteze prin ssh. Dacă doriți să permiteți accesul mai multor utilizatori - scrie numele lor de conectare separate printr-un spațiu.

Și configurați serverul (fișier / etc / ssh / ssh_conf)

Este recomandabil, de asemenea, pentru a schimba portul ssh (Porturi). În mod implicit, ruleaza pe TCP / IP port 22, atât de multe script-uri rău intenționate care încearcă să scaneze și să pătrundă în acest port. Punerea în practică a portului cu valoare mai mare complica procesul de a găsi serverul de ssh. Puteți livra, de exemplu, portul 4890.

Pentru ca modificările să aibă efect, trebuie să reporniți serverul ssh Ubuntu. scrie la consola:

Instalați serverul VNC

Pentru a începe, vom merge ca o rădăcină! ca și în viitoarele aplicații instalate vor fi conduse de rădăcină la pornire, dacă instalați și configurați aplicații folosind un sudo simplu - toate fișierele vor fi ale tale, iar sistemul nu va fi capabil să le folosească.

Mai mult, toate Komad fără sudo, deoarece suntem deja de lucru ca root.
Instalați pachetele necesare:

Crearea unui fișier de configurare:

În fișierul pus această linie:

Porniți serverul VNC cu următorii parametri

Când începe primul VNC-server ne cere să setați o parolă care va fi folosit pentru a accesa un desktop la distanță. Nu puteți utiliza o parolă lungă - de obicei parola VNC de până la 8 caractere. Apoi, am fost întrebat dacă vrem să setați parola de numai vizualizare? Sau cere sau nu, să gust.

În acest moment, vă puteți conecta la serverul VNC din rețeaua locală cu un client VNC pe un alt calculator folosind IP PKOfis locale. Vă sfătuiesc să testați această posibilitate, să știe că până la această etapă, faci dreapta pe ea.

Probleme Soluție de conectare în Ubuntu - parola corectă, ecran negru

Atenție! Este probabil că nu va veni sub utilizatorul dvs. Ubuntu, este acum dacă jurnalul afară. Sistemul acceptă parola va începe să se încarce, ecranul se închide la culoare, apoi a venit mouse-ul, atunci va fi returnat la ecranul de selectare a utilizatorului pentru a auzi sunetul erorii. Deși despre orice erori nu anunțați Ubuntu. Motivul - dreptul de acces la dosar .Xauthority. Înregistrarea privind procedura de frunze, și să încerce să iasă și du-te la contul dvs. ca un cadou.

Pe ecranul de conectare faceți clic pe Ctrl + Alt + F3 - deschide terminalul. Acesta prescrie „-lah ls“ linie și pentru a obține rezultatul:

Dacă vedeți o linie în dreptul „rădăcină“ în locul numelui de utilizator numele de utilizator. Trebuie să faceți următoarele:

server de autostart VNC cu un anumit utilizator

Prevede codul pentru a rula automat serverul VNC. Și ca desktop de la distanță încărcate automat în rădăcină-sesiune, nu este foarte convenabil - pentru că vrem să vedem este desktop-ul tau. Configurați serverul, astfel încât „de export“ unui anumit utilizator pe ecranul monitorului (comanda su pentru a rula serverul în numele utilizatorului pe care doriți).

Creați fișier /etc/init.d/vncserver - acesta va fi un script de pornire de server al utilizatorului pe care doriți să setați preferințe

Fișierul prescrie următoarele (numele de utilizator de editare, dimensiunea ecranului, serverul ssh extern IP, numele care va fi în bara de titlu, există Atom). În cazul meu - numele de utilizator „toopro“

Când compusul din ssh -N utilizare flag. care prevede că nu ne ssh-comenzi pentru a trimite nu este necesar, deschide doar un port. Și, în cele din urmă am pus un simbol . că nu putem cădea consola de server ssh, deoarece atunci când sistemul de cizme poate interfera cu procesul de continuare a autoincarcatorul.

Și atribuie fișierul un pic «executabil»

Alergăm serviciul nostru stabilit

Este acum, deoarece va porni utilizatorul specifică pe ecranul monitorului (nu root), sistemul ne va cere să introduceți o parolă pentru sesiunea. Acest lucru nu este profilul dvs. parola, iar noua parola pe care VNC va trebui să caute încearcă să se conecteze la acesta cu un client VNC.

După cum puteți vedea, creează fișiere de pornire xstartup într-un dosar de utilizator și parola introduse de minciuni în fișierul .Xauthority. Cu xstartup tot trebuie să lucreze.

Acum pune acest script într-un startup

Sistemul va afișa mai multe avertismente, aceasta se datorează faptului că «runlevels» pe care le-am înregistrat într-un script de pornire (începutul S, 0,6 picioare) de la ranlevelam implicit.

În acest moment aveți posibilitatea să reporniți computerul și încercați din nou să se conecteze la serverul VNC - pentru a vedea desktop-ul meu cu icoane și icoane ale utilizatorului pe care doriți să vă. Dar, în cazul Ubuntu 12.04 - nu a fost atât de ușor. Tot ceea ce am văzut - tapet meu - nici meniuri, bare de instrumente, și fără nici o unealtă unitate. Vom rezolva această Poser :)

Solutia: Ubuntu VNC este nici un meniu, bara de instrumente, numai imaginea de fundal

Deschideți fișierul xstartup creat cel mai recent din dosarul acasă

Înlocuiți conținutul fișierului este:

Dacă ceva nu merge bine, încercați pentru a verifica permisiunea executabil pentru fișierul.
Dacă se dorește, aveți posibilitatea să copiați fișierul în /etc/vnc/xstartup.custom și să-l executabil, pentru a aplica această remediere tuturor începe vncserver.

Atenție! Potrivit rețeaua locală VNC parola implicită este transmisă sub formă de nesigure, precum și datele de la tastatură. Deci, nu utilizați această metodă pentru a administra rețele mari, sau dacă aveți o adresă IP externă la acest computer. Pentru a proteja date mai bune pentru a utiliza SSH-tunel.

Remedierea lacunelor de tunele SSH

Rețeaua nu este perfectă, mai ales în cazul meu, există adesea o conexiune prin WiFi de calitate mediocră. Pachetele sunt pierdute din cauza sistemului KeepAlive vede și rupe canalul de mers în gol. În acest caz, ar trebui să redeschidă. Există două moduri de a face acest lucru.

1. Se încearcă reconectarea Kron

a crea un program similar cu următoarele:

Salvați și verificați dacă calendarul adoptat

2. Utilizarea autossh în loc de comanda ssh obișnuită

Apoi, un șir de fișier /etc/init.d/vncserver

tăiat, să modifice și să inserați în fișierul /etc/init/autossh.conf

  • -M 0 indică autossh nu instalați performanțele monitorului tunel (folosind portul loopback), și se bazează pe faptul că ssh va determina diferența și finaliza lucrarea (pentru aceasta ne-am înregistrat la începutul opțiunilor KeepAlive fișier sshd.config și parametrii de ServerAliveInterval - interval de trimite un cecuri KeepAlive și ServerAliveCountMax - ssh pierderile cantitative care se consideră a fi rupte).
  • -N înseamnă că orice comenzi către serverul ssh la care ne conectam nu intenționează să fie efectuată prin simpla ridicare a tunelului.
  • -f ascunde ssh în fundal

Solutia: Ubuntu nu se închide

Mai mult de jumătate din aceste probleme în Google au un motiv - pentru a vă conecta mai mult de un utilizator. Și când unul dintre ei este încercarea de a opri computerul, apoi Unitatea consideră că, fără a cere cealaltă nu se poate face, și în tăcere de așteptare pentru :) Deci, dacă nu opriți Ubuntu - asigurați-vă că toate sesiunile / desktop-uri închise.

În cazul nostru - sesiunile suplimentare care urmează să fie văzut, dar este - este serverul nostru VNC cu un desktop virtual. pentru că acesta se execută sub administrator, utilizator normal nu se poate opri, iar Unitatea crede că este un desktop complet, care este deschis de cineva, care poate fi deschis o fereastra cu date care nu au fost încă salvate, astfel încât să nu puteți opri calculatorul. Recunoaste, nu poate fi cu adevarat :) Dar, dacă dorim ca utilizatorii noștri să acceseze cu ușurință, fără consola, opriți PC-urile lor, dansând cu o tamburină noi avem.

Algoritmul de rezolvare: 1. lipsiți de drepturi civile permit utilizatorului să comande oprirea; Butonul de alimentare 2. evenimente de interceptare de pe hard sistemnike / calculator Toshiba și executați consola off comandă.

Se lasă comanda sudo fără o parolă

Pentru a nu împovăra utilizatorului, permițându-i să ruleze comanda shutdown, în numele Super User, și fără a solicita o parolă. În Ubuntu 12.04 pentru a adăuga o linie în fișierul sudoers

În acest caz, numele de utilizator pe care doriți să dea drepturi - USER_NAME. Pentru aceasta creează un fișier separat (dacă nu este deja creată) în directorul care inkluda la fișierul sudoers. Aici descrie toate regulile referitoare la utilizator USER_NAME. Prescrierea o linie:

Salvați fișierul și a reveni la consola. Dacă fișierul nu a fost acolo, a fost creat cu privilegii noi nepotrivite, a schimbat echipa lor:

A, dar mai simplu mod greșit
Puteți utiliza comanda care va face fișierul executabil de către proprietar de utilizator (de exemplu rădăcină în cazul nostru).

Apoi sună cineva comanda de închidere altcineva va conduce la rezultatul dorit.

Efectuat. Dar pentru a face utilizatorul mediu pentru a deschide o consolă și prescrie echipa - nu este cazul. Stai o comandă pe butonul calculatorului greu.

comandă de terminal când este apăsat butonul de greu sistemnika (putere)

Cu acest lucru în Ubuntu deja de lucru programm acpid. Prinderea eveniment și prescrie handler.

Prescrierea de fișiere de evenimente

Acum, creați un fișier de comandă handler

(PWRF - off cod buton poate fi modificat pentru a găsi codul, înregistrați acpi_listen în consolă și apăsați un buton)

Permis pentru a rula fișierul ca un program

server de tunel SSH cu IP extern

Pentru SSH-servere folosesc firmware DD-WRT. Dacă doriți să creați ceva de genul asta, atunci cu siguranță aveți un router, dar el a făcut acum multe case nu ar trebui să lupte pentru un calculator cu conexiune la internet) și cel mai bun dintre toate, pentru toate modelele populare de routere au firmware DD-WRT.

Sews dd-wrt

Problema! În momentul de față, este pentru router-ul meu TP-LINK TL-WDR3600 dovedit că construi (build 21061) propus de router-bază de date are probleme doar cu acces SSH (problema sshd)%) Cine alte routere poate sări peste acest paragraf, sau pentru a reveni la ea în cazul în care „vv 192.168.1.1 ssh“ asigură procesul de conectare, iar în cele din urmă încă spune „conexiunea a fost închisă de.“. Dacă încă citiți, atunci, de asemenea, „norocos“ pentru mine, dar nu petrec o jumătate de zi pe ea :) Tot ce trebuie să faci - du-te la FTP și descărcați cel mai recent firmware ftp://ftp.dd-wrt.com/others/ eko / BrainSlayer-V24-preSP2 / (selectați anul curent, construcții noi și în router-ul), descărcați noul firmware să clipească.

Configurarea SSH-tunel pe DD-WRT

În „Administrația“ includ „SSH Management“
În conformitate cu "Servicii" în grupul "Secure Shell" include sshd, SSH TCP Forwarding. Și dezactivează parola de conectare.
Din motive de siguranță, vom utiliza autentificarea cu cheie publică (metoda de autentificare cu ajutorul tastelor).

Genera, ne prescrie chei

În Ubuntu consola de scriere ssh-keygen. când vi se solicită, introduceți numele de fișier id_rsa. În Windows, puteți genera cheile folosind PuTTYgen.exe PuTTy a pachetului, dar poate fi ușor pentru a găsi informații on-line. Și nu e cazul nostru)

Dar, în cazul meu a fost cheile dosarul de utilizator, și nu în .ssh, așa că a trebuit să-i mute acolo.
Au fost generate cheile, dar este necesar pentru a spune sistemul să înceapă utilizarea lor:

Dacă aveți fișiere private,

/.ssh/id_rsa (/home/username/.ssh/id_rsa), sistemul va găsi și strângeți.

Acum trebuie să-i spun router cheia publică (id_rsa.pub), ia conținutul acelui fișier (sau copiați răspuns la comanda ssh-add -L) și se introduce în cheile autorizate în interfața grafică a router-ului, secțiunea Servicii. Va fi un fel de un șir de caractere

Salvați modificările și reporniți router.

Verificați conexiunea la router prin SSH

După ce ne-am creat-cheie, și alimentat la router partea publică, puteți testa conexiunea. În consola Ubuntu de scriere de rețea locală:

Ar trebui să vedeți răspunsul router DD-WRT și șirul bash de forma

Felicitări! Sunteți conectat la router prin SSH, și se poate face cu ea ce vrei (daca stii echipa :)).

Configurarea SSH-revers tunel

Pentru a crea un tunel la SSH-PKOfis

Noi folosim pentru a crea un tunel de la un alt PC

Avem un port 5555 pe router, care aruncă cererile în PKOfis port: 5901, ori de câte ori el a fost. Acum trebuie să rămână conectat la router și traversa portul 5555 pe convenabil pentru noi.

Apoi, faceți clic pe Deschidere, pentru a deschide o sesiune SSH. Odată conectat, putem folosi un client VNC pentru conectarea la un PKOfis de calculator. În acest caz, o cerere merge la portul local 5901, care este transmis la portul 5555 router-ului nostru, care transmite cererea către portul 5901 este deja foarte PKOfis.

Totalul pentru a conecta de oriunde, este suficient pentru a avea o unitate flash cu portabil client VNC, chei de acces și Putty (cheia privată). Pentru viitor, dacă ai totul transporta pe o unitate flash, aș sfătui să pună parola în cheia privată. Chiar dacă lăsați-l în Internet Club „kulhatskery“ nu se poate conecta la computer.

Adresa la Apache (http) care rulează pe serverul PKOfis

În plus, cuplul suplimentar de linii paralele pot ajuta pentru a accesa serverul http situat pe PC-ul de birou pentru NAT. În cazul meu, este adevărat, pentru că Prea Pro Shop (vânzări script-ul de contabilitate) se bazează pe CMS Drupal, și de a face modificări ale sistemului (pret, disponibilitate, promoții, etc.) pentru mine destul de des de acces http.

În acest scop, PKOfis (unde este instalat serverul) redirecționează portul 80 la ssh-serverul portul local 2080

Și când este conectat prin PuTTy la același ssh-server, adăugând o altă regulă în port forwarding

tunel SSH pe un server virtual VPS

A doua opțiune este pentru cei care sunt mai bogate sau are într-un fel în alt mod de acces la server VPS. Setați-l OpenSSH (deși, probabil, el a fost în picioare acolo).

Un utilizator la ssh

Crearea unui nou utilizator, care nu este capabil de a efectua comenzi, el avea nevoie doar pentru a crea tuneluri. Și-i dea parola.

Permisiuni firewall

concluzie

Multumesc, link-uri

P.S. A scris „amestecătură“ altor articole online, nu mai sunt pentru oameni, dar pentru mine :) Deoarece Întotdeauna am uitat să greblă, care a fugit. Și va trebui să efectuați această acțiune periodic. Și rețeaua de un singur articol pentru a executa lucrarea curentă nu a fost, așa că a trebuit să compileze.