Cum să SSH în VirtualBox Guest

How Ssh Into Your Virtualbox Guest



Există momente când doriți să aveți un acces de la distanță la VM. Poate că este doar un sistem de operare server care rulează ca o mașină virtuală, unde vă testați aplicațiile înainte de a le implementa.

Posibilitatea de a SSH în sistemul de operare Guest poate fi util atunci când nu doriți să utilizați GUI-ul mașinii dvs. virtuale. Pur și simplu porniți VM-ul într-un mod fără cap și SSH în interiorul și în afara acestuia fără a avea mai multe ferestre deschise în terminal.







Pentru cei care sunt noi la ideea de SSH, vom avea o scurtă introducere în funcționarea SSH înainte de a vă scufunda în configurare. De asemenea, ar trebui să discutăm setările legate de rețea ale VM-ului dvs. pentru a ne asigura că aveți acces la VM-ul respectiv de oriunde din rețeaua LAN.



Iată un model simplificat al modului în care funcționează SSH. Creați o pereche de chei pe computerul dvs. local. O cheie publică și o cheie privată. Mesajele criptate folosind cheia publică pot fi decriptate folosind cheia privată și invers. Aceste chei sunt de obicei stocate pe computerul dvs. local pe o cale ~/.ssh/id_rsa (cheie privată) și ~/.ssh/id_rsa.pem (cheia publică).

Apoi mergeți la serverul dvs. la distanță, vă conectați la o consolă ca utilizator obișnuit sau root, deschideți fișierul ~/.ssh/authorized_keys al acelui server. Aici introduceți conținutul cheii dvs. publice așa cum este. Odată ce ați făcut acest lucru, puteți ssh ca acel utilizator pe serverul al cărui director .ssh are autorizat_keys, de pe dispozitivul dvs. local.

The .NS extensia înseamnă că acel fișier este cheia publică pe care o puteți partaja cu oricine. The id_rsa parte înseamnă doar ce cifru de criptare este utilizat (în acest caz se întâmplă să fie RSA). Cheia privată poate fi protejată în continuare printr-o expresie de acces pe care ar trebui să o introduceți, de fiecare dată când doriți să vă conectați la un server la distanță folosind acea cheie privată.

Dacă aveți un computer Mac, Linux sau orice alt sistem asemănător UNIX ca computer local, puteți genera și gestiona chei folosind terminalul și puteți, de asemenea, SSH pe servere la distanță folosind același terminal. Pentru utilizatorii de Windows, aș sugera utilizarea MASTIC sau Git Bash aceasta din urmă fiind preferința mea personală. Comenzile sunt cam aceleași odată ce ai un client SSH.

Configurarea tastelor SSH

Mai întâi asigurați-vă că, dacă nu există deja chei ssh în directorul dvs. principal. Verificați conținutul directorului de acasă .ssh pliant. Dacă aveți dubii, faceți o copie de rezervă a conținutului acestuia înainte de a executa următoarea comandă. Programe precum Filezilla folosesc chei SSH tot timpul, fără știrea utilizatorului, astfel încât acest pas este destul de important.

În dumneavoastră mașină locală , deschideți terminalul și introduceți comanda:

$ssh-keygen

Acest lucru va fi urmat de următoarele solicitări cu valori între paranteze care indică valorile implicite. Continuați cu solicitările și dați cheilor dvs. o expresie de acces sigură.

Verificați dacă cheile sunt create verificând conținutul fișierului ~ / .ssh pliant.

$eu sunt -la~/.ssh

Dacă vedeți fișiere care corespund valorilor implicite afișate în ssh-keygen prompt atunci totul a funcționat bine.

Acum deschideți o consolă la Mașină virtuală . Mai întâi verificați dacă VM-ul dvs. are server SSH rulat sau nu.

$starea sshd a serviciului

Dacă nu este instalat, utilizați managerul de pachete pentru a căuta și instala serverul OpenSSH. Odată ce ați terminat, asigurați-vă că paravanul de protecție al VM-ului dvs. este deschis pe portul numărul 22. De exemplu, dacă utilizați Ubuntu ca VM, paravanul de protecție implicit ufw fie trebuie dezactivat, fie ar trebui să permită conexiuni la portul 22 astfel:

$sudostarea ufw

Dacă nu este deschis în portul 22, utilizați următoarea comandă:

$sudoufw permitessh

Apoi deschideți fișierul ~ / .ssh / autorizate_chei pe VM, folosind editorul de text preferat. Este posibil să doriți să activați clipboardul gazdă-la-vizitator sau bidirecțional pentru acest pas următor.

În interiorul acestui fișier (în partea de jos a fișierului, dacă nu este gol) lipiți conținutul fișierului cheie publică. Ultima parte în care scrie numele dvs. și gazda locală unde au fost generate cheile nu este atât de importantă ca restul șirului.

(Opțional) Nu se utilizează chei SSH

Dacă aveți încredere în rețeaua dvs. locală, atunci puteți utiliza metoda mai puțin sigură de utilizare a parolei UNIX, pentru a intra în VM. Deschideți fișierul / etc / ssh / sshd_config pe VM și înlocuiți linia:

#PasswordAuthentication nr

La

Autentificare parolăda

Odată ce acest lucru este la locul său, reporniți serverul SSH.

$service sshd reporniți

Acum puteți utiliza parola obișnuită pe care o utilizați pentru a vă conecta la VM-ul dvs. pentru a intra și în ea.

Mașina și rețeaua dvs. virtuală

Pentru a vă conecta la VM, atât computerul dvs. local (cel cu cheia privată), cât și VM ar trebui să fie în aceeași rețea. Astfel, puteți ajunge la adresa IP a VM-ului respectiv. Vă vom arăta cum să adăugați VM la rețeaua LAN.

Să luăm în considerare exemplul unei configurări tipice a routerului de acasă. Computerul dvs., împreună cu alte dispozitive, este conectat la routerul de acasă. Acest router acționează și ca un server DHCP, ceea ce înseamnă că atribuie fiecărui dispozitiv conectat la acesta o adresă IP privată unică. Desktopul dvs. primește un IP, la fel și telefonul și laptopul. Doar dispozitivele care sunt conectate la acest router pot vorbi între ele prin adresele lor IP.

Activați modul de rețea cu punte în setările VM, iar VM va apărea ca fiind conectat la routerul dvs. de acasă (sau la un server DHCP similar) cu un IP privat. Dacă un al doilea dispozitiv este conectat la aceeași rețea (să zicem, la același router de acasă), atunci acesta poate fi folosit pentru a intra în VM.

Deschideți VirtualBox Manager, selectați VM-ul țintă, deschideți Setări → Rețea și selectați Bridge Networking în loc de NAT.

După cum puteți vedea, gazda mea este conectată utilizând Wireless, astfel încât conexiunea să fie partajată și de VM, dacă utilizați Ethernet, ar apărea un alt nume de interfață, care este bine.

Acum, VM-ul meu, care se numește ubuntuvm, apare pe configurarea LAN după cum urmează. Verificați setările routerului pentru a vedea dacă funcționează la fel.

Odată ce cunoașteți adresa IP a VM-ului dvs., puteți introduce SSH în ea executând comanda:

$ssh <nume de utilizator> @adresa.ip.de.vor

Dacă ați introdus o expresie de acces pentru cheia dvs. privată în pașii de mai sus, vi se va solicita să o reintroduceți.

Asta e! Acum puteți porni VM-urile în modul fără cap și pur și simplu ssh în ele de oriunde din casă. Sper că ți s-a părut interesant acest tutorial, anunță-ne dacă există vreun subiect pe care ai vrea să îl acoperim.