Kako vstaviti SSH v svojega gosta VirtualBox

How Ssh Into Your Virtualbox Guest



Včasih želite imeti oddaljeni dostop do VM. Morda je to le strežniški operacijski sistem, ki deluje kot VM, kjer preizkusite svoje aplikacije, preden jih dejansko uvedete.

Zmožnost SSH -ja v gostujočem operacijskem sistemu je lahko koristna, če ne želite uporabljati grafičnega vmesnika svojega navideznega stroja. Preprosto zaženite VM v brezglavnem načinu in SSH vstopite in iz njega, ne da bi bilo v vašem terminalu odprtih več oken.







Za tiste, ki se še ne spoznate na idejo SSH, bomo imeli kratek uvod v delovanje SSH, preden se potopite v nastavitev. Prav tako bi morali razpravljati o omrežnih nastavitvah vaše VM, da zagotovimo, da imate dostop do te VM od kjer koli v vašem LAN -u.



Tu je poenostavljen model delovanja SSH. Na lokalnem računalniku ustvarite par ključev. Javni ključ in zasebni ključ. Sporočila, šifrirana z javnim ključem, lahko dešifrirate z zasebnim ključem in obratno. Ti ključi so običajno shranjeni v vašem lokalnem računalniku na poti | _+_ | (zasebni ključ) in | _+_ | (javni ključ).



Nato pojdite na oddaljeni strežnik, se prijavite v konzolo kot navaden ali korenski uporabnik, odprite datoteko | _+_ | tega strežnika. Tukaj vnesete vsebino svojega javnega ključa, kakršen je. Ko to storite, lahko ssh kot tisti uporabnik na strežniku, katerega imenik .ssh ima pooblaščene_ključe, iz vaše lokalne naprave.





The .NS razširitev pomeni, da je ta datoteka javni ključ, ki ga lahko delite s komer koli. The id_rsa del samo označuje, katero šifrirno šifro uporabljate (v tem primeru gre za RSA). Zasebni ključ lahko dodatno zaščitite z geslom, ki ga morate vnesti vsakič, ko se želite prijaviti na oddaljeni strežnik s tem zasebnim ključem.

Če imate za lokalni računalnik Mac, Linux ali kateri koli drug sistem, podoben UNIX-u, lahko ustvarite in upravljate ključe s pomočjo terminala, SSH pa lahko uporabite tudi v oddaljene strežnike z istim terminalom. Za uporabnike operacijskega sistema Windows predlagam uporabo PUTTY ali Git Bash slednje je moja osebna želja. Ukazi so približno enaki, ko imate odjemalca SSH.



Nastavitev tipk SSH

Najprej se prepričajte, če v vašem domačem imeniku še ni tipk ssh. Preverite vsebino domačega imenika .ssh mapo. Če ste v dvomih, varnostno kopirajte njeno vsebino, preden izvedete naslednji ukaz. Programi, kot je Filezilla, ves čas uporabljajo ključe SSH brez vednosti uporabnika, zato je ta korak precej pomemben.

V vašem lokalni stroj , odprite terminal in vnesite ukaz:

$ssh-keygen

Temu bodo sledili naslednji pozivi z vrednostmi v oklepaju, ki označujejo privzete vrednosti. Nadaljujte z navodili in ključem dajte varno geslo.

Preverite, ali so ključi ustvarjeni, tako da preverite vsebino datoteke ~/.ssh mapo.

$ls -do~/.ssh

Če vidite datoteke, ki se ujemajo s privzetimi vrednostmi, prikazanimi v ssh-keygen hitro, potem je vse delovalo v redu.

Zdaj odprite svojo konzolo Navidezni stroj . Najprej preverite, ali ima vaš VM strežnik SSH ali ne.

$status sshd storitve

Če ni nameščen, z upraviteljem paketov poiščite in namestite strežnik OpenSSH. Ko to storite, se prepričajte, da je požarni zid vaše VM odprt na vratih številka 22. Če na primer uporabljate Ubuntu kot VM, je privzeti požarni zid ufw onemogočiti ali omogočiti povezave vrat 22:

$sudostatus ufw

Če na vratih 22 ni odprto, uporabite naslednji ukaz:

$sudoufw dovolissh

Nato odprite datoteko ~/.ssh/pooblaščeni_ključi na vašem VM z vašim najljubšim urejevalnikom besedil. Za ta naslednji korak boste morda želeli omogočiti odložišče med gostitelji ali gostom ali dvosmerno.

Znotraj te datoteke (na dnu datoteke, če ni prazna) prilepite vsebino datoteke javni ključ. Zadnji del, kjer piše vaše ime in lokalni gostitelj, kjer so bili ustvarjeni ključi, ni tako pomemben kot preostanek niza.

(Izbirno) Ne uporabljate ključev SSH

Če zaupate svojemu lokalnemu omrežju, lahko uporabite manj varen način uporabe gesla za UNIX, da ssh vnesete v VM. Odprite datoteko /etc/ssh/sshd_config na VM in zamenjajte vrstico:

#PasswordAuthentication št

Za

Preverjanje geslaja

Ko je to na mestu, znova zaženite strežnik SSH.

$storitev sshd znova zaženite

Zdaj lahko uporabite običajno geslo, ki ga uporabljate za prijavo v vaš VM, da vanj vnesete tudi ssh.

Vaš navidezni stroj in omrežje

Če želite ssh v vaš VM, morata biti vaš lokalni računalnik (tisti z zasebnim ključem) in VM v istem omrežju. Tako lahko pridete do naslova IP te VM. Pokazali vam bomo, kako VM dodati v LAN.

Poglejmo primer tipične nastavitve domačega usmerjevalnika. Vaš računalnik je skupaj z drugimi napravami povezan z domačim usmerjevalnikom. Ta usmerjevalnik deluje tudi kot strežnik DHCP, kar pomeni, da vsaki napravi, ki je z njim povezana, dodeli edinstven zasebni naslov IP. Namizje dobi IP, prav tako telefon in prenosni računalnik. Samo naprave, povezane s tem usmerjevalnikom, se lahko med seboj pogovarjajo prek svojih naslovov IP.

V nastavitvah VM omogočite način premostitvenega omrežja in VM bo prikazana kot povezana z domačim usmerjevalnikom (ali podobnim strežnikom DHCP) z zasebnim IP -jem. Če je druga naprava priključena na isto omrežje (recimo na isti domači usmerjevalnik), jo lahko uporabite za ssh v VM.

Odprite VirtualBox Manager, izberite ciljno VM, odprite Nastavitve → Omrežje in izberite Bridge Networking namesto NAT.

Kot vidite, je moj gostitelj povezan z brezžičnim omrežjem, tako da povezavo deli tudi VM, če uporabljate Ethernet, bi se prikazalo drugo ime vmesnika, kar je v redu.

Zdaj je moj VM, ki je poimenovan ubuntuvm, se prikaže v mojih nastavitvah LAN na naslednji način. Preverite nastavitve usmerjevalnika in preverite, ali vam deluje enako.

Ko poznate naslov IP vaše VM, lahko vanj vnesete SSH z izvajanjem ukaza:

$ssh <uporabniško ime> @ip.naslov.vašega.vm

Če ste v zgornjih korakih vnesli geslo za svoj zasebni ključ, boste pozvani, da ga znova vnesete.

To je to! Zdaj lahko zaženete svoje virtualne stroje v načinu brez glave in jih preprosto vnesete od koder koli v hiši. Upam, da se vam je ta vadnica zdela zanimiva. Sporočite nam, če obstaja kakšna tema, ki bi jo radi obravnavali.