Å ha muligheten til å SSH i gjestenes OS kan komme til nytte når du ikke vil bruke GUI for din virtuelle maskin. Bare start VM -en din i en hodeløs modus og SSH inn og ut av den uten å ha flere vinduer åpne i terminalen.
For de som er nye i ideen om SSH, vil vi ha en kort introduksjon til arbeidet med SSH før vi dykker inn i oppsettet. Vi må også diskutere de nettverksrelaterte innstillingene til VM for å sikre at du har tilgang til den VM hvor som helst i LAN.
Her er forenklet modell av hvordan SSH fungerer. Du oppretter et par nøkler på din lokale datamaskin. En offentlig nøkkel og en privat nøkkel. Meldinger som er kryptert med offentlig nøkkel, kan dekrypteres ved hjelp av den private nøkkelen og omvendt. Disse nøklene lagres vanligvis på din lokale datamaskin på en sti ~/.SSH/ID_RSA
(privat nøkkel) og~/.SSH/ID_RSA.Pem
(den offentlige nøkkelen).
Du går deretter til den eksterne serveren din, logg inn på en konsoll som en vanlig eller rotbruker, åpner filen ~/.SSH/Authorised_Keys
av den serveren. Her skriver du inn innholdet i din offentlige nøkkel som den er. Når det er gjort, kan du SSH som den brukeren på serveren hvis .SSH -katalogen har autoriserte_keys, fra din lokale enhet.
De .Pem utvidelse betyr at den filen er den offentlige nøkkelen du kan dele med hvem som helst. De id_rsa del Bare betyr hva krypterings chiffer blir brukt (i dette tilfellet er det tilfeldigvis RSA). Den private nøkkelen kan videre beskyttes av en passfrase som du må oppgi, hver gang du vil logge inn på en ekstern server ved hjelp av den private nøkkelen.
Hvis du har en Mac, Linux eller noe annet Unix-lignende system som din lokale datamaskin, kan du generere og administrere nøkler ved hjelp av terminal, og du kan også SSH til eksterne servere ved hjelp av samme terminal. For Windows -brukere vil jeg foreslå å bruke kitt eller git bash sistnevnte er min personlige preferanse. Kommandoene er stort sett de samme når du har en SSH -klient.
SSH-Keys Setup
Forsikre deg først om, hvis det ikke er noen SSH-nøkler allerede i hjemmekatalogen. Sjekk innholdet i hjemmekatalogen din .ssh mappe. Hvis du er i tvil, kan du sikkerhetskopiere innholdet før du utfører følgende kommando. Programmer som Filezilla bruker SSH -nøkler hele tiden, uten brukerens kunnskap, så dette trinnet er ganske avgjørende.
I din Lokal maskin, Åpne terminalen og skriv inn kommandoen:
$ SSH-KeenGen
Dette vil bli fulgt opp av følgende spørsmål med verdier i braketten som indikerer standardverdiene. Fortsett med spørsmålene og gi nøklene dine en sikker passfrase.
Kontroller at nøklene er opprettet ved å sjekke innholdet i din ~/.ssh mappe.
$ ls -al ~/.ssh
Hvis du ser filer som samsvarer med standardverdiene som vises i SSH-KeenGen hurtig så har alt fungert bra.
Åpner nå en konsoll for din Virtuell maskin. Sjekk først om VM har SSH -serveren som kjører eller ikke.
$ Service SSHD Status
Hvis den ikke er installert, bruk pakkebehandleren din til å søke og installere OpenSSH -serveren. Når det er gjort, må du sørge for at VMs brannmur er åpen på port nummer 22. For eksempel, hvis du bruker Ubuntu som VM, er standard brannmur ufw bør enten deaktiveres eller skal tillate port 22 -tilkoblinger som det:
$ sudo ufw status
Hvis ikke er åpen i port 22, bruk følgekommandoen:
$ sudo ufw tillater ssh
Åpne deretter filen deretter ~/.SSH/Authorised_Keys på VM -en din, ved å bruke din favoritt tekstredigerer. Det kan være lurt å aktivere vert-til-gjeste eller toveis utklippstavle for dette neste trinnet.
Inne i denne filen (nederst i filen, hvis den ikke er tom) lim inn i innholdet i din offentlig nøkkel. Den siste delen der den sier navnet ditt og den lokale verten der nøklene ble generert, er ikke så viktig som resten av strengen.
(Valgfritt) Ikke bruker SSH-nøkler
Hvis du stoler på det lokale nettverket, kan du bruke den mindre sikre metoden for å bruke UNIX -passordet ditt, til SSH i VM. Åpne filen /etc/ssh/sshd_config På VM og erstatt linjen:
#PasswordAuthentication nr
Til
Passordauthentication Ja
Når det er på plass, start SSH -serveren på nytt.
$ service sshd omstart
Nå kan du bruke det vanlige passordet du bruker til å logge inn på VM til SSH i det også.
Din virtuelle maskin og nettverk
For at du skal SSH inn i VM, bør både din lokale datamaskin (den med den private nøkkelen) og VM være på samme nettverk. Så du kan nå til VMs IP -adresse. Vi vil vise deg hvordan du legger VM til LAN.
La oss vurdere eksemplet med et typisk oppsett. Datamaskinen din, sammen med andre enheter, er koblet til hjemmeruteren. Denne ruteren fungerer også som en DHCP -server, noe som betyr at den tildeler hver enhet som er koblet til den, en unik privat IP -adresse. Skrivebordet får en IP, det gjør også telefonen og den bærbare datamaskinen din. Bare enhetene som er koblet til denne ruteren kan snakke med hverandre via IP -adressene deres.
Aktiver overbygd nettverksmodus i innstillingene til VM -en din, og VM vil vises som koblet til hjemmeruteren din (eller en lignende DHCP -server) med en privat IP. Hvis en andre enhet er koblet til det samme nettverket (si til samme hjemmuter), kan den brukes til å SSH inn i VM.
Åpne VirtualBox Manager, velg målet VM, åpne opp Innstillinger → Nettverk og velg Bridge Networking i stedet for NAT.
Som du kan se at verten min er koblet sammen med trådløs slik at tilkoblingen også deles av VM, hvis du bruker Ethernet, vises et annet grensesnittnavn som er greit.
Nå er min VM, som heter ubuntuvm, dukker opp på LAN -oppsettet mitt som følgende. Sjekk ruterinnstillingene dine for å se om det samme fungerer for deg.
Når du kjenner IP -adressen til VM -en din, kan du SSH i den ved å kjøre kommandoen:
$ ssh@IP.adresse.av.din.vm
Hvis du har lagt en passfrase for din private nøkkel i trinnene ovenfor, vil du bli bedt om å legge inn den på nytt.
Det er det! Nå kan du starte VM -ene dine i hodeløs modus og bare SSH inn i dem hvor som helst i huset ditt. Håper du fant denne opplæringen interessant, gi oss beskjed om det er noe tema du vil at vi skal dekke.