Säkerhet, OpenSSH, nycklar och Mac OS X
En av de mindre kända funktionerna i Mac OS X är att det finns inbyggt stöd för ssh-agent och därmed hantering av nycklar till OpenSSH. Allt detta konfigurerat redan i en standardinstallation. För er som använder SSH mycket betyder detta bland annat automatisk inloggning på datorer med hjälp av ett privat/publikt-nyckelpar utan att behöva skriva in ett lösenord.
Att logga in utan lösenord är redan nu möjligt genom att använda en nyckel utan lösenord. Det är dock en dålig lösning, säkerheten blir minimal, allt som krävs är att någon kommer över den privata nyckeln för att sedan få fri tillgång till allt den nyckeln kan låsa upp. Används den för inloggning på andra datorer är en nyckel utan lösenord inte mycket bättre än ett lås där nyckeln redan sitter i och allt som krävs är att man vrider om den för att komma in.
En mycket mer ansvarsfull lösning är att använda dessa nycklar som det var tänkt. Med ett lösenord. På så sätt måste både nyckeln och lösenordet användas för att logga in. Var för sig är lösenordet och nyckeln då värdelösa.
Som vanligt när det gäller lösenord är komplexa lösenord säkrare än simpla. Använd heller inte inte samma lösenord på flera platser. Att komma igång tiotals långa lösenord är dock inte helt enkelt och det är här Apples Keychain är till stor hjälp.
En Keychain är enkelt förklarat en krypterad fil som lagrar andra lösenord. Namnet antyder att det är en nyckelring och det är en mycket bra analogi. Det är en nyckelring för lösenord och annan känslig information. Genom att lagra lösenord i Keychain kan program komma åt lösenorden om användaren explicit tillåter detta. Program begär att få lagra och hämta specifika lösenord ur keychain.
Genom att låta datorn hantera lösenorden är det enkelt för användaren att ha olika lösenord på alla platser som kräver lösenord. Detta i sig medför en stor vinst, skulle någon av tjänsterna som används råka ut för ett intrång, och lösenorden sprids, räcker det att byta det enda lösenordet. Därmed är alla delar skyddade individuellt. Självklart är det istället mycket viktigare att skydda åtkomst till sin privata keychain när alla lösenord är samlade där. Kommer någon över den och lösenordet till den är alla lösenord som lagras där tillgängliga i klartext. Men detta kan man undvika genom att hålla bra koll på sin egen dator.
Tillsammans
Så, Keychain och SSH låter som en utmärkt kombination och visst är det så. Med hjälp av ssh-agent och ett litet grafiskt verktyg, som följer med Mac OS X, är det möjligt att lagra sina lösenord till de privata nycklarna i Keychain. Utöver det lägger även det grafiska verktyget till lösenordet i ssh-agent och tillåter därmed att man använder sin nyckel utan lösenord.

Det finns ett problem med keychain i dess standardkonfiguration. Får någon tillgång till kontot på datorn får den personen också tillgång till standard-keychainen då den låses upp så fort användaren loggar in. Vill man undvika detta är det en bra idé att skapa en extra Keychain med ett lösenord som skiljer sig från kontots lösenord. Genom att använda denna Keychain istället måste användaren explicit låsa upp denna Keychain för att få tillgång till informationen.
Det är fullt möjligt att byta lösenord på den keychain som följer med kontot normalt också, skillnaden är då att användaren måste mata in lösenordet när program försöker använda den.

Hur gör man då?
Det är en bra fråga. För att skapa en nyckel skriver man i en terminal:
ssh-keygen och följer instruktionerna. Att spara filen där verktyget rekommenderar fungerar bra. Se till att välja ett säkert lösenord.
Kopiera innehållet i .pub-filen till en ny rad sist i ~/.ssh/authorized_keys på datorn du vill ha lösenordsfri inloggning på (i exemplet har .pub-filen pathen: ~/.ssh/id_rsa.pub). För först över den till datorn:
scp ~/.ssh/id_rsa.pub server.name:
Lägg sedan nyckeln i authorized_keys:
cat id_rsa.pub >> ~./ssh/authorized_keys (Finns inte filen authorized_keys skapas den.)
Efter detta kan du nu logga in och på den datorn med hjälp av din privata nyckel. Den tidigare nämnda dialogrutan kommer då dyka upp och du måste ange nyckelns lösenord. Glöm då inte att bocka i att spara lösenordet i Keychain för att slippa mata in det fler gånger.
Vill du sedan flytta lösenordet till en annan keychain gör du det genom Keychain Access, ett program som finns i Utilities. Skapa en ny keychain där med ett valfritt lösenord och dra sedan den relevanta raden i login-keychainen till den nya.

När du nu försöker använda din privata nyckel måste du första gången efter du loggat in ange lösenordet till den nya keychainen. Normalt låses keychainen igen fem minuter efter att den användes senast. Vill du ändra den tiden är detta möjligt i Keychain Access. Markera den nya keychainen och välj Edit -> Change Settings for Keychain…
Tänk dock på att det inte räcker att låsa Keychain för att förhindra automatisk inloggning. Ssh-agent kommer fortfarande åt lösenordet och du kan fortfarande logga in utan lösenord fram tills dess att du loggar ut eller stänger av ssh-agent-processen.
Senaste aktivitet i forumet
- Uppgradera min dator? av Runo
- Här kan ni köpa balisonger/butterfly's i Sverige - TIPS av BalisongerOnline
- K: DDR1 ECC minnen av Zezo
- Dator köp! av Gefagahaga
- Skaffa trådlöst nätverk - vad behövs? av Raspberry
