Det primära sättet att ansluta till en Linux-server är genom SSH-protokoll. Denna typ av anslutning är säker, eftersom all data som överförs genom den är krypterad. I ordning till upprätta SSH-anslutning du bör konfigurera den på fjärrservern som du vill ansluta till och klienten på användarens sida. Det finns massor av programvara för SSH-anslutning. När det gäller Linux är OpenSSH-paketet det mest populära och för Windows använder folk oftast PuTTY.
Låt oss titta närmare på serverkonfigurationen med Ubuntu Server 18.04 som exempel och sedan försöka ansluta till servern från Linux och Windows.
Allt vi gör kommer från en vanlig användares konto. I det här fallet skapade vi en användare "Michael", Och"rot”-kontot är inaktiverat som standard.
Installation på serversidan
Ställ in paketet som kör detta kommando:
sudo apt install openssh-server
När installationen är klar, se till att tjänsten körs. Använd detta kommando:
systemctl status sshd
Status "Aktiv (löpande)” betyder att tjänsten är aktiverad och fungerar normalt.
För att undvika blockering av inkommande anslutningar av brandväggen, se till att du inaktiverar den, eftersom vi inte kommer att konfigurera nätverksbrandväggen i den här artikeln.
Använd detta kommando:
sudo ufw disable
I detta skede kan du redan ansluta till servern. Med standardinställningar tillåter servern anslutning till standardport 22 med lösenordsbaserad autentisering.
SSH-anslutning från Linux
Som regel är OpenSSH-klienten installerad på Linux som standard och kräver ingen ytterligare manuell konfiguration. Anslutning kan upprättas från terminalen med hjälp av ssh-kommandot. Parametrar i detta fall skulle vara användarnamn och IP-adress för fjärrservern. På vår testserver som vi använder som exempel finns det bara ett konto "mihail", så vi kommer att använda detta.
ssh [email protected]
Vid den första anslutningen måste du bekräfta tillägget av serverns publika nyckel till databasen, så svara "ja”. Efter det kan du ange lösenordet. Om anslutningen är framgångsrik kommer du att se en välkomsttext på serverns kommandorad. Nu kommer alla kommandon att köras direkt på fjärrservern.
SSH från Windows
Öppna Putty och ställ in anslutningsparametrar. Se till att omkopplaren "Kopplingstyp” vänds till SSH. Ange IP-adressen i "värdnamn”-fält, standardvärde 22 in i "Port"Och klicka"Öppet".
Vid första anslutningen kitt kommer att be dig bekräfta att du litar på den här servern, så klicka på "Ja"
När du har angett inloggning och lösenord kommer du att se kommandoraden för fjärrservern.
Autentisering med nyckel. Ökad säkerhetsnivå
När en klient försöker upprätta en säker anslutning till servern via SSH, innan den tillåter anslutningen som servern kräver för att autentisera (verifiera) klienten. Som nämnts tidigare används vanligtvis lösenordsbaserad autentisering som standard. Det ger inte robust säkerhet, eftersom det alltid finns ett sätt att bruteforce den. Dessutom är lösenordsautentisering inte tillämplig på SSH-anslutningar med användning av skript.
För denna typ av uppgifter finns en speciell autentiseringsmetod med nyckel. Poängen är att klienten genererar privata och publika nycklar och sedan skickas publik nyckel till servern. Därefter behöver du inget lösenord för att ansluta till servern, eftersom autentiseringen utförs baserat på offentliga och privata klientnycklar. För att ge en god säkerhetsnivå bör åtkomsten till den privata nyckeln begränsas. På grund av det faktum att den privata nyckeln lagras på klientens sida och inte överförs via nätverket, anses denna metod vara säkrare.
Autentisering med nyckel på Linux
Låt oss generera publika och privata nycklar på klienten med hjälp av ssh-keygen verktygsprogram. Verktyget kommer att föreslå att du ändrar sökvägen till den privata nyckeln och anger en lösenfras för extra säkerhet. Lämna alla parametrar som standard genom att trycka på Enter vid alla förfrågningar.
Som ett resultat hittar du två genererade filer i hemkatalogen i .ssh-mappen: id_rsa och id_rsa.pub som innehåller privata och publika nycklar i enlighet därmed.
Efter det måste du skicka den publika nyckeln till servern. För att göra det, kopiera innehållet i "id_rsa.pub" fil i "~/.ssh/authorized_keys" fil på servern. Låt oss gå den enklaste vägen med hjälp av "ssh-copy-id”-verktyg. Ange inloggning och IP-adress för servern, precis som i fallet med vanlig anslutning. När du har angett lösenordet kommer klientens publika nyckel automatiskt att kopieras till servern. Kör detta kommando:
ssh-copy-id [email protected]
När du har gjort allt detta kommer servern inte att behöva ange lösenord längre.
Autentisering med nyckel på Windows
Öppet PUTTYGEN och klicka på "GenereraFör att generera nycklarna behöver du bara flytta musen över skärmen och verktyget genererar nycklarna slumpmässigt.
När nycklarna har skapats klickar du på "Spara privat nyckel” och spara den till filen med privat nyckel på din disk. Du kan ställa in vilken sökväg du vill, men lite senare måste du ange den i Putty. Kopiera sedan den publika nyckeln från toppen av fönstret.
Låt oss skicka den publika nyckeln genom att helt enkelt kopiera den till terminalen. Öppna kitt och anslut till servern som vanligt. Låt oss nu skapa ".ssh/authorized_keys” och begränsa de andra användarna från att komma åt filen, så den är endast tillgänglig för skaparen.
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
När du har skapat filen lägger du in klientens publika nyckel i den. I det föregående steget kopierade vi den offentliga nyckeln till urklipp. För att spela in vad som finns i urklipp till filen använd cat-kommandot och utdataomdirigering.
cat > .ssh/authorized_keys
När du har skrivit in kommandot, klicka på höger musknapp i terminalfönstret och klistra in det som finns i urklippet. För att bekräfta inmatningen, tryck på “Ctrl + D” genväg och koppla från servern.
Låt oss nu specificera sökvägen till den privata nyckeln i Putty och ansluta till servern igen.
Från och med nu behöver du bara ange användarnamn för att ansluta till servern. Om du försöker ansluta till servern från en annan enhet som inte har rätt privat nyckel kommer servern att begära lösenord. När nyckelbaserad autentisering har ställts in kan du neka åtkomst med lösenord.