VirtualBox

Hur SSH till din VirtualBox-gäst

Hur SSH till din VirtualBox-gäst
Det finns tillfällen när du vill ha fjärråtkomst till din virtuella dator. Kanske är det bara ett serveroperativsystem som körs som en virtuell dator där du testar dina applikationer innan du faktiskt distribuerar dem.

Att ha möjligheten att SSH i ditt gäst-operativsystem kan komma till nytta när du inte vill använda GUI för din virtuella maskin. Starta helt enkelt din virtuella dator i ett huvudlöst läge och SSH in och ut ur den utan att flera fönster är öppna i din terminal.

För dem som är nya med SSH-tanken kommer vi att få en kort introduktion till SSH: s funktion innan vi dyker in i installationen. Vi skulle också behöva diskutera nätverksrelaterade inställningar för din virtuella dator för att se till att du har tillgång till den virtuella datorn var som helst i ditt LAN.

Hur SSH-nycklar fungerar?

Här är en förenklad modell för hur SSH fungerar. Du skapar ett par nycklar på din lokala dator. En offentlig nyckel och en privat nyckel. Meddelanden krypterade med hjälp av offentlig nyckel kan dekrypteras med den privata nyckeln och vice versa. Dessa nycklar lagras vanligtvis på din lokala dator på en väg ~ /.ssh / id_rsa(privat nyckel) och~ /.ssh / id_rsa.pem(den offentliga nyckeln).

Du går sedan till din fjärrserver, loggar in på en konsol som en vanlig eller rotanvändare, öppnar filen ~ /.ssh / auktoriserade_tangenterav den servern. Här anger du innehållet i din offentliga nyckel som det är. När det är klart kan du ssh som den användare på servern vars .ssh-katalogen har de auktoriserade tangenterna från din lokala enhet.

De .pem tillägg betyder att den filen är den offentliga nyckeln som du kan dela med vem som helst. De id_rsa del betyder bara vilken krypteringskryptering som används (i det här fallet råkar det vara RSA). Den privata nyckeln kan ytterligare skyddas av en lösenfras som du måste ange, varje gång du vill logga in på en fjärrserver med den privata nyckeln.

Om du har en Mac, Linux eller något annat UNIX-liknande system som din lokala dator kan du generera och hantera nycklar med terminal, och du kan också SSH till fjärrservrar med samma terminal. För Windows-användare föreslår jag att du använder PuTTY eller Git Bash, den senare är min personliga preferens. Kommandona är ungefär desamma när du har en SSH-klient.

SSH-tangenter Inställning

Kontrollera först om det inte finns några ssh-nycklar i din hemkatalog. Kontrollera innehållet i din hemkatalog .ssh mapp. Om du är osäker, säkerhetskopiera innehållet innan du kör följande kommando. Program som Filezilla använder SSH-nycklar hela tiden, utan användarens vetskap så det här steget är ganska viktigt.

I din lokal maskin, öppna terminalen och ange kommandot:

$ ssh-keygen

Detta kommer att följas upp av följande uppmaningar med värden inom parentes som anger standardvärdena. Fortsätt med anvisningarna och ge dina nycklar en säker lösenfras.

Kontrollera att nycklarna skapas genom att kontrollera innehållet i din ~ /.ssh mapp.

$ ls -al ~ /.ssh

Om du ser filer som matchar standardvärdena visas i ssh-keygen snabb så har allt fungerat bra.

Öppna nu en konsol till din Virtuell maskin. Kontrollera först om din virtuella dator har SSH-server eller inte.

$ service sshd-status

Om den inte är installerad, använd din pakethanterare för att söka och installera OpenSSH-servern. När det är klart, se till att din virtuella datorns brandvägg är öppen på port nummer 22. Till exempel, om du använder Ubuntu som en virtuell dator, standard brandvägg ufw bör antingen inaktiveras eller bör tillåta port 22-anslutningar så här:

$ sudo ufw-status

Om om inte är öppet vid port 22, använd följande kommando:

$ sudo ufw tillåt ssh

Öppna sedan filen igen ~ /.ssh / auktoriserade_tangenter  på din virtuella dator med din favorittextredigerare. Du kanske vill aktivera värd-till-gäst- eller dubbelriktad urklipp för nästa steg.

Inuti den här filen (längst ner i filen, om den inte är tom) klistrar du in innehållet i din offentlig nyckel. Den sista delen där det står ditt namn och den lokala värden där nycklarna genererades är inte så viktigt som resten av strängen.

(Valfritt) Använder inte SSH-nycklar

Om du litar på ditt lokala nätverk kan du använda den mindre säkra metoden att använda ditt UNIX-lösenord för att ssh in i din virtuella dator. Öppna filen / etc / ssh / sshd_config på din virtuella dator och byt ut raden:

#PasswordAuthentication no
Till
PasswordAuthentication ja

Starta om SSH-servern när den är på plats.

$ service sshd starta om

Nu kan du använda det vanliga lösenordet som du använder för att logga in på din virtuella dator för att också ssh in i det.

Din virtuella maskin och ditt nätverk

För att du ska kunna ssh in i din virtuella dator ska både din lokala dator (den med den privata nyckeln) och den virtuella datorn vara i samma nätverk. Så du kan nå den virtuella datorns IP-adress. Vi visar hur du lägger till den virtuella datorn i ditt LAN.

Låt oss överväga exemplet med en typisk installation av hemrouter. Din dator, tillsammans med andra enheter, är ansluten till hemroutern. Denna router fungerar också som en DHCP-server, vilket innebär att den tilldelar varje enhet som är ansluten till den, en unik privat IP-adress. Ditt skrivbord får en IP, så gör din telefon och din bärbara dator det också. Endast enheterna som är anslutna till denna router kan prata med varandra via sina IP-adresser.

Aktivera överbryggat nätverksläge i inställningarna för din virtuella dator och den virtuella datorn visas som ansluten till din hemrouter (eller en liknande DHCP-server) med en privat IP. Om en andra enhet är ansluten till samma nätverk (säg till samma hemrouter) kan den användas för att ssh in i den virtuella datorn.

Öppna VirtualBox Manager, välj din virtuella målmaskin och öppna Inställningar → Nätverk och välj Bridge Networking istället för NAT.

Som du kan se är min värd ansluten med trådlös så att anslutningen också delas av den virtuella datorn, om du använder Ethernet, skulle ett annat gränssnittsnamn dyka upp vilket är bra.

Nu, min virtuella dator, som heter ubuntuvm, visas på min LAN-inställning som följer. Kontrollera dina routerinställningar för att se om detsamma fungerar för dig.

När du väl vet IP-adressen till din virtuella dator kan du SSH in i den genom att köra kommandot:

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

Om du har lagt in en lösenfras för din privata nyckel i ovanstående steg uppmanas du att ange den igen.

Det är allt! Nu kan du starta dina virtuella datorer i headless-läge och bara ssh in i dem var som helst i ditt hus. Hoppas du tyckte att den här handledningen var intressant, låt oss veta om det finns något ämne du vill att vi ska täcka.

Bästa kommandoradsspel för Linux
Kommandoraden är inte bara din största allierade när du använder Linux, det kan också vara källan till underhållning eftersom du kan använda den för a...
Bästa Gamepad Mapping Apps för Linux
Om du gillar att spela spel på Linux med en gamepad istället för ett typiskt tangentbord och musinmatningssystem, finns det några användbara appar för...
Användbara verktyg för Linux-spelare
Om du gillar att spela spel på Linux är chansen att du kan ha använt appar och verktyg som Wine, Lutris och OBS Studio för att förbättra spelupplevels...