VirtualBox

Hvordan SSH inn i VirtualBox Guest

Hvordan SSH inn i VirtualBox Guest
Det er tider når du vil ha ekstern tilgang til den virtuelle maskinen. Kanskje det bare er et serveroperativsystem som kjører som en VM, hvor du tester applikasjonene dine før du faktisk distribuerer dem.

Å ha muligheten til å SSH i Guest OS kan være nyttig når du ikke vil bruke GUI på den virtuelle maskinen din. Bare start din VM i hodeløs modus og SSH inn og ut av den uten å ha flere vinduer åpne i terminalen.

For de som er nye med ideen om SSH, vil vi ha en kort introduksjon til SSHs arbeid før vi dykker ned i oppsettet. Vi trenger også å diskutere nettverksrelaterte innstillinger for din VM for å sikre at du har tilgang til den virtuelle maskinen fra hvor som helst i ditt LAN.

Hvordan SSH-nøkler fungerer?

Her er forenklet modell for hvordan SSH fungerer. Du oppretter et par nøkler på din lokale datamaskin. En offentlig nøkkel og en privat nøkkel. Meldinger kryptert med offentlig nøkkel kan dekrypteres ved hjelp av den private nøkkelen og omvendt. Disse tastene lagres vanligvis på din lokale datamaskin i en bane ~ /.ssh / id_rsa(privat nøkkel) og~ /.ssh / id_rsa.pem(den offentlige nøkkelen).

Deretter går du til den eksterne serveren din, logger på en konsoll som en vanlig eller rotbruker, åpner filen ~ /.ssh / autoriserte_tasterserveren. Her skriver du inn innholdet i den offentlige nøkkelen slik den er. Når det er gjort, kan du ssh som den brukeren på serveren hvis .ssh-katalogen har de autoriserte tastene fra din lokale enhet.

De .pem utvidelse betyr at filen er den offentlige nøkkelen du kan dele med hvem som helst. De id_rsa del betyr bare hvilken krypteringskryptering som brukes (i dette tilfellet er det RSA). Den private nøkkelen kan videre beskyttes av en passordfrase som du må angi, hver gang du vil logge på en ekstern server ved hjelp av den private nøkkelen.

Hvis du har en Mac, Linux eller et 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å at du bruker PuTTY eller Git Bash, sistnevnte er min personlige preferanse. Kommandoene er ganske like når du har en SSH-klient.

Oppsett av SSH-taster

Forsikre deg først om det ikke er noen ssh-nøkler i hjemmekatalogen din. Sjekk innholdet i hjemmekatalogen din .ssh mappe. Hvis du er i tvil, må du sikkerhetskopiere innholdet før du utfører følgende kommando. Programmer som Filezilla bruker SSH-nøkler hele tiden, uten brukerens viten, så dette trinnet er ganske avgjørende.

I din lokal maskin, åpne terminalen og skriv inn kommandoen:

$ ssh-keygen

Dette vil bli fulgt opp av følgende instruksjoner med verdier i parentes som indikerer standardverdiene. Fortsett med instruksjonene og gi nøklene dine en sikker passordfrase.

Bekreft at nøklene er opprettet ved å sjekke innholdet på ~ /.ssh mappe.

$ ls -al ~ /.ssh

Hvis du ser filer som samsvarer med standardverdiene, vises i ssh-keygen spør så alt har fungert bra.

Åpne nå en konsoll til din Virtuell maskin. Sjekk først om din VM har SSH-server som kjører eller ikke.

$ service sshd status

Hvis den ikke er installert, bruker du pakkebehandling til å søke etter og installere OpenSSH-serveren. Når det er gjort, må du sørge for at den brannmuren til din VM er åpen på port nummer 22. For eksempel, hvis du bruker Ubuntu som en VM, er standard brannmur ufw bør enten være deaktivert eller tillate port 22-tilkoblinger slik:

$ sudo ufw status

Hvis hvis ikke er åpen i port 22, bruk følgende kommando:

$ sudo ufw tillate ssh

Åpne deretter filen ~ /.ssh / autoriserte_taster  på den virtuelle maskinen din, ved hjelp av din favoritt teksteditor. Det kan være lurt å aktivere vert-til-gjest eller toveis utklippstavle for dette neste trinnet.

Inne i denne filen (nederst i filen, hvis den ikke er tom), lim inn innholdet i filen offentlig nøkkel. Den siste delen der det står navnet ditt og den lokale verten der nøklene ble generert, er ikke så viktig som resten av strengen.

(Valgfritt) Bruker ikke SSH-nøkler

Hvis du stoler på det lokale nettverket ditt, kan du bruke den mindre sikre metoden for å bruke UNIX-passordet ditt, for å ssh inn i den virtuelle maskinen din. Åpne filen / etc / ssh / sshd_config på din VM og erstatt linjen:

#PasswordAuthentication no
Til
PasswordAuthentication ja

Når det er på plass, start SSH-serveren på nytt.

$ service sshd start på nytt

Nå kan du bruke det vanlige passordet som du bruker til å logge inn på den virtuelle maskinen din for å ssh inn i den også.

Din virtuelle maskin og nettverk

For at du skal ssh inn i den virtuelle maskinen din, bør både den lokale datamaskinen din (den med den private nøkkelen) og den virtuelle maskinen være på samme nettverk. Så du kan nå den virtuelle maskinens IP-adresse. Vi viser deg hvordan du legger til VM i LAN.

La oss se på eksemplet på et typisk hjemmerouteroppsett. 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 ditt får IP, det samme gjør telefonen og den bærbare datamaskinen. Bare enhetene som er koblet til denne ruteren kan snakke med hverandre via deres IP-adresser.

Aktiver brokoblet nettverksmodus i innstillingene til den virtuelle maskinen, og den virtuelle maskinen vil vises som koblet til hjemmeruteren din (eller en lignende DHCP-server) med en privat IP. Hvis en annen enhet er koblet til det samme nettverket (for eksempel til den samme hjemmeruteren), kan den brukes til å ssh inn i VM.

Åpne VirtualBox Manager, velg mål-VM, åpne Innstillinger → Nettverk og velg Bridge Networking i stedet for NAT.

Som du kan se, er verten min koblet til ved hjelp av trådløs, slik at tilkoblingen også deles av VM, hvis du bruker Ethernet, vil et annet grensesnittnavn dukke opp som er greit.

Nå, min VM, som heter ubuntuvm, dukker opp på LAN-oppsettet mitt som følger. Sjekk ruteren din for å se om det samme fungerer for deg.

Når du vet IP-adressen til den virtuelle maskinen din, kan du SSH inn i den ved å kjøre kommandoen:

$ ssh @ip.adresse.av.din.vm

Hvis du har lagt inn en passordfrase for din private nøkkel i trinnene ovenfor, vil du bli bedt om å angi den på nytt.

Det er det! Nå kan du starte virtuelle maskiner i hodeløs modus og bare ssh inn i dem fra hvor som helst i huset ditt. Håper du syntes denne opplæringen var interessant, gi oss beskjed hvis det er noe emne du vil at vi skal dekke.

SuperTuxKart for Linux
SuperTuxKart er en flott tittel designet for å gi deg Mario Kart-opplevelsen gratis på Linux-systemet ditt. Det er ganske utfordrende og morsomt å spi...
Kjemp om Wesnoth-opplæringen
Kampen om Wesnoth er et av de mest populære open source-strategispillene du kan spille på dette tidspunktet. Ikke bare har dette spillet vært i utvikl...
0 A.D. Opplæringen
Ut av de mange strategispillene der ute, 0 A.D. klarer å skille seg ut som en omfattende tittel og et veldig dypt, taktisk spill til tross for å være ...