Hvordan ssh sættes op så du ikke bliver bedt om et kodeord
Du kan oprette en RSA-ægthedsnøgle (authentication key) for at kunne logge på et fjernsted fra din konto, uden at skulle skrive dit kodeord.
Bemærk, at når du har opsat dette, vil en angriber der bryder ind i dit system få adgang til det sted du har adgang til, uden en adgangskode! Derfor må dette aldrig gøres fra root-kontoen.
- Kør
ssh-keygen(1)
på din maskine, og tryk blot på enter-tasten når du bliver bedt om et kodeord.
Dette genererer både en privat og en offentlig nøgle. Med ældre versioner af SSH bliver de gemt i~/.ssh/identity
og~/.ssh/identity.pub
; ved nyere versioner, bliver de gemt i~/.ssh/id_rsa
og~/.ssh/id_rsa.pub
. - Kopier dernæst indholdet af den tidligere omtalte fil til
~/.ssh/authorized_keys
på fjernstedet (filen skal have rettigheden 600).
Hvis du er udvikler og ønsker at tilgå debian.org-systemer med en sådan nøgle, er det muligt at få udviklerdatabasen til at sprede din nøgle til alle debian.org-maskinerne. Se dokumentationen til LDAPs gateway.
Du skulle nu kunne bruge ssh til at logge på fjern-spejlstedet uden at blive bedt om et kodeord.
Vigtigt: Bemærk at alle der har læseadgang til den
private nøglefil, kan anvende til at få den samme adgangskodeløse adgang til
fjern-stedet. Blandt andre enhver person der har root-adgang til din lokale
maskine. Derfor anbefales det kraftigt at du anvender en adgangskodesætning
til din private nøgle, hvis du ikke er den eneste med root-adgang til din
maskine. Du kan bruge ssh-agent(1)
og ssh-add(1)
til at skrive din adgangskodesætning en gang for alle, for alle anvendelser
af en specifik nøgle i en session. Du kan autoamtisk hente alle dine nøgler
ind i agentprogrammet, ved at føje følgende linie til din
~/.xsession
fil:
# if use-ssh-agent is specified in /etc/X11/Xsession.options # (this is the default) then you need only the second line # eval ssh-agent ssh-add <ssh-nøgles-filnavn>
Pakken ssh-askpass
skal være installeret, for at man kan køre
ssh-add
uden en terminal.