På föregående sida såg vi hur SSH skapar en skyddad anslutning och kontrollerar serverns identitet. Nu fokuserar vi på nästa steg: hur användaren visar vem den är.
Två vanliga metoder är lösenordsautentisering och autentisering med ett nyckelpar.
Inloggning med lösenord
Administratören anger ett användarnamn och ett lösenord. Lösenordet skickas genom den krypterade SSH-anslutningen och kontrolleras av servern, lokalt eller med hjälp av en central autentiseringstjänst.
Exempel:
ssh anna@192.168.99.2
Klienten ansluter till enheten och begär inloggning som användaren anna. Vid lösenordsautentisering får Anna ange sitt lösenord.
Krypteringen skyddar lösenordet under överföringen. Den förhindrar däremot inte att någon loggar in med ett lösenord som har stulits eller gissats.
Inloggning med ett nyckelpar
Vid nyckelautentisering används två nycklar som hör ihop:
| Nyckel | Hantering |
|---|---|
| Publik nyckel | Registreras på servern som godkänd för användarens konto. |
| Privat nyckel | Behålls skyddad hos användaren och ska inte delas med andra. |
Den publika nyckeln behöver inte hållas hemlig. Däremot måste registreringen skyddas: en obehörig ska inte kunna lägga till sin egen nyckel på någon annans konto.
Så fungerar nyckelautentiseringen
När den skyddade anslutningen har upprättats sker följande, förenklat:
-
- Klienten anger vilket konto användaren vill logga in på.
- Klienten skapar en digital signatur med användarens privata nyckel.
- Servern kontrollerar att motsvarande publika nyckel är godkänd för kontot.
- Servern verifierar signaturen med den publika nyckeln.
Signaturen bevisar att klienten har tillgång till rätt privat nyckel. Den privata nyckeln skickas aldrig till servern.
Serverns värdnyckel behöver fortfarande kontrolleras. Användarens nyckelpar ersätter inte kontrollen av vilken server anslutningen går till.
Lösenord och lösenfras är olika saker
En privat nyckel som lagras i en fil kan skyddas med en lösenfras. Den används lokalt för att låsa upp nyckeln.
| Uppgift | Vad skyddar den? |
|---|---|
| Kontots lösenord | Används för att autentisera användaren inför servern. |
| Nyckelns lösenfras | Skyddar den lagrade privata nyckeln. |
En användare kan därför behöva skriva en lösenfras även vid nyckelbaserad inloggning. Lösenfrasen skickas inte till SSH-servern.
Om en oskyddad privat nyckelfil stjäls kan den användas för att försöka logga in på de konton där nyckeln är godkänd.
Exempel – Anna administrerar två servrar
Anna behöver administrera två Linuxservrar.
Hon skapar ett nyckelpar på sin administratörsdator och skyddar den privata nyckeln med en lösenfras. Hennes publika nyckel registreras för hennes personliga konto på båda servrarna.
När Anna ansluter:
-
- kontrollerar SSH-klienten serverns identitet
- använder klienten Annas privata nyckel för att signera
- verifierar servern signaturen och ger åtkomst enligt Annas behörigheter.
När Anna inte längre ska administrera servrarna tas hennes nyckelbehörighet bort på båda. Även andra inloggningsmöjligheter till kontona behöver ses över.
Byte av autentiseringsmetod
Innan lösenordsinloggning stängs av behöver nyckelinloggningen testas.
Behåll en fungerande administrationssession eller annan återställningsväg medan du provar en ny anslutning. Kontrollera att rätt konto kan logga in och utföra sina arbetsuppgifter.
Det minskar risken att administratören låser ute sig själv.
Sammanfattning
Lösenordsautentisering kontrollerar ett lösenord som skickas genom SSH:s skyddade kanal. Nyckelautentisering använder en digital signatur för att bevisa tillgång till en privat nyckel. Den privata nyckeln ska skyddas, medan den publika nyckeln registreras på servern. Båda metoderna kräver att serverns identitet kontrolleras.
Uppgift – hantera nycklar
En administratör ska få SSH-åtkomst till en server med sitt personliga konto.
-
- Vilken nyckel ska registreras på servern?
- Var ska den privata nyckeln finnas?
- Vad skyddar nyckelns lösenfras?
- Vad behöver göras när administratörens åtkomst ska upphöra?
Kontrollfrågor
1. Varför kan ett svagt lösenord vara ett problem även när SSH används?
Visa facit
1. SSH skyddar överföringen, men ett svagt lösenord kan fortfarande gissas eller återanvändas av en obehörig.
2. Hur bevisar klienten tillgång till den privata nyckeln?
Visa facit
2. Genom att skapa en digital signatur som servern kan verifiera med den publika nyckeln.
3. Ersätter användarens nyckelpar kontrollen av serverns värdnyckel?
Visa facit
3. Nej. Serverns identitet och användarens identitet kontrolleras separat.
Facit till uppgiften
1. Administratörens publika nyckel.
2. Skyddad hos administratören, exempelvis på administratörsdatorn eller i en lämplig säkerhetsenhet.
3. Den skyddar den lagrade privata nyckeln mot användning utan lösenfrasen.
4. Ta bort nyckelns behörighet och kontrollera att andra åtkomstmetoder inte lämnar kontot tillgängligt.