SSH nyckel, är den maskinspecifik?
I en uppgift så ska vi öva att anvädna github, och adda push commita och så. Först behöver vi göra en ssh nyckel på githubs hemsida, men till vem ges nyckeln egentligen?
Frågar åt en i klassen som har konfigurerat och sparat nyckeln i sin dator, men försöker göra git-grejerna i hans kth-studentshell (som liksom är en annan dator?).
"Först behöver vi göra en ssh nyckel på githubs hemsida". Stämmer det? Gör du inte en nyckel på din egen dator (eller i KTH:s miljö) med ssh-keygen och kopierar sedan den publika nyckeln till ditt konto på github? Jag är inte helt säker, för jag har inte gjort det själv.
Tanken med ssh nycklar är kunna loggain enkelt från vilken dator man vill. Laddar upp den publika nyckeln och tar med dig din privata nyckel till den dator du vill logga in på
Jo Laguna, det är vad man gör.
Det bästa är nog att hen skapar en ny nyckel på KTH-datorerna och kopplar den nyckeln till sitt git-konto som hen gjorde med nyckel på den egna datorn. Att överföra samma nyckel till en annan dator verkar inte vara lämpligt, se följande: länk
Nyckeln består av två delar: en publik och en privat. Båda ligger normalt i ett directory som heter .ssh i ens hemdirectory. Den privata nyckeln ska man inte flytta omkring eller visa någon. Den publika kan man t.ex. ge till någon som man vill kommunicera med i framtiden, t.ex. github. När du startar en dialog med github, för att t.ex. pusha saker till ditt repository, så är det bara du som kan visa att du äger den publika nyckeln, för du har också den privata nyckeln.
Om man använder den privata nyckeln rätt så är den maskinspecifik (och användarspecifik). Kopierar man omkring den tappar man delvis poängen med den sortens kryptering.
Edit: korrigering: i miljöer där man kan använda flera olika datorer och få sin hemkatalog monterad automatiskt så är nyckeln inte maskinspecifik.
Öh jo, det var visst så. Alltså jag skapar nyckeln i datorn, och sen så kopplar jag nyckeln till github, eller med Lagunas fina terminologi,jag ger den publika nyckeln till github.
Nyckeln består av två delar: en publik och en privat. Båda ligger normalt i ett directory som heter .ssh i ens hemdirectory.
Detta stämmer också bra.
Den publika kan man t.ex. ge till någon som man vill kommunicera med i framtiden, t.ex. github. När du startar en dialog med github, för att t.ex. pusha saker till ditt repository, så är det bara du som kan visa att du äger den publika nyckeln, för du har också den privata nyckeln.
Jahaaaa... själva privata nyckeln är ju en lång textremsa, men den behöver jag inte skriva in varje gång jag ska pusha till github, hur fungerar nyckeln då?
Som jag förväntar mig så säger terminalen att jag är obehörig (när jag är i KTHs studentshell) utan att ens fråga om den privata nyckeln.
Är det i båda fallen att datorn (eller shellen) automatiskt skickar privata nyckeln, om den har rätt publika nyckel?
Det här är ämne för en helt egen kurs. Privata nyckeln skickas aldrig. När du vill autenticera dig (dvs. bevisa att du är den som skapade den publika nyckeln) så skickar github en genererad slumpsträng till dig. Du krypterar den med privata nyckeln och skickar tillbaka den. github avkrypterar den med publika nyckeln och ser att det stämmer. "Du" är förstås inte du själv, utan något program du anropar, som vet att den ska titta efter nycklarna under directoryt .ssh.
Åh... ok. Men lite enkel bakgrundsinformation såhär underlättar ju förståelsen och egen felsökning, och det är det jag klagar på att de inte lär ut. Kort innan jag gjorde denna tråd så uppmanade jag honom att testa att inte göra det i studentshellen, och den gissningen hade jag ju rätt i även om jag inte visste varför, det är ju trevligt. Som sagt, hjälp till självhjälp!