v5.dk logo
Kom ind og besøg vores Discord Chat-community
Bliv medlem her eller læs mere om Discord her
Få adgang til alt på hele v5.dk
- bliv Premium-medlem for kun 39,95 kr.

Mere info Køb nu

Premium på v5.dk
v5.dk logo  v5.dk e-learning
Log på med Facebook
  • Log ind på v5.dk
  • Opret bruger
  • Log ind
  • v5.dk Premium
  • v5.dk Premium
  • Hvad siger vores kunder?
  • E-læring for begyndere
  • icon for WordPress 4 e-learning WordPress 4
  • icon for Office 365 e-learning Office 365
  • icon for Microsoft Word e-learning Microsoft Word
  • Bloggen for alle
  • E-læring for nørder
  • icon for PHP-programmering e-learning PHP-programmering
  • icon for iOS Programmering e-learning iOS Programmering
  • icon for Linux Server e-learning Linux Server
  • Bloggen for nørder
  • Arkiverede videoer
  • Fællesskab
  • Forum
  • Idéer og ønsker
  • Markedspladsen
  • v5.dk Premium
  • Gratis webhotel
  • Cloud-servere
  • Om v5.dk
  • Søg på v5.dk
  • Om v5.dk ApS
    • Om virksomheden
    • RSS-feeds og tjenester
    • Driftsmeddelelser
    • Presse-kit
    • Ledige jobs
    • Social Netværk
      • Facebook
      • Twitter
      • Instagram
    • Alt det andet
      • Forretningsbetingelser
      • Ophavsret og Copyright
  • Kontakt kundeservice
  • FAQ og Hjælp
    • Premium og abb.
    • Videoer og Afspiller
    • Forum og Points
    • Cloud-servers
  • Partner/Virksomhed
  • Partner-kanal
v5.dk logo mobile
  • Menu
  • Opret bruger

Sådan kommer du igang med SSH nøgler på Mac og Linux
Opsætning og administration af private og offentlige nøgler, for at gøre din hverdag nemmere og sikre når du administrere Linux servere

  1. v5.dk
  2. Blog
  3. For nørder
  4. Linux server
  5. Sådan kommer du igang med SSH nøgler på Mac og Linux
Profil-billede
GÆST   Bliv gratis medlem: Opret bruger eller log på via Facebook
Tweet
Skrevet for 6 år siden
  • #SSH
  • #SSH Keys
  • #Linux
  • #Mac OS X

Sådan kommer du igang med SSH nøgler på Mac og Linux

Introduktion

SSH nøgler eller SSH keys som de kaldes på engelsk er ikke kun smarte og mere sikre. Men de gør det også meget nemmere at administrere én eller flere Linux servere. Nå du har lavet ét nøgle par bestående af en privat og en offentlig nøgle, kan du give én eller flere Linux servere din offentlige nøgle. Og du vil nu have adgang til de servere nemt og mere sikkert ved at benytte dig af din private nøgle. Den private nøgle kunne du også have liggende på en USB pen og bruge når du eksempelvis er på farten - og bruge på hvilken som helst computer du kan komme på. Med en SSH nøgle kan du ledt have adgang til de servere eller den server du administrere ved at huske en enkel selvvalgt kode og din private nøgle.

At lave SSH nøgler er ikke så svært og det gør det meget sværere også at hacke sig adgang til servere som benytter sig af SSH nøgle-par. Det er faktisk så svært, at mange Linux servere ikke engang tager imod normale brugernavn og kodeords kombinationer, men derimod kun kan logges på med SSH nøgler - f.eks. bruger GitHub det til at give adgang til dine "repositories" og dermed gør det meget svære for hackere at få adgang til GitHub bruger og adgang til at ændre i din kode som du har liggende på GitHub.

Hvordan SSH nøgler virker

Når du laver et SSH nøgle-par, laver du i princippet en a-nøgle som vi kender det fra der hjemme. Denne a-nøgle vil så kunne åbne andre nøgler som ligger på f.eks en Linux server på nettet. Nedenunder har vi en billede, som visuelt repræsentere dette forhold imellem en "privat" nøgle og en "offentlig" nøgle.

Humørikon / Emoteicon / Smiley

Du kan se en privat og offentlig nøgle som henholdvis en "a-nøgle" og en "hængelås". A-nøglen har du hos dig selv imens at du har hænglåsen(e) på alle de (f.eks Linux servere) du gerne vil administrere og have adgang til. Din a-nøgle holder du altid kun for dig selv og kun du har adgang til denne nøgle, imens at du frit kan smide den offentlige nøgle ud på alle de servere du administrere og vil have adgang til.

Med andre ord, det som sker - er at du opretter en SSH forbindelse til din Linux server. Serveren sender så en besked tilbage som din egen computer kryptere med a-nøglen og derefter sender den krypterede besked tilbage. Serveren prøver så derefter at afkryptere den modtagede krypterede besked fra din computer med sin offentlige nøgle. Hvis det lykkes, vil du så få adgang.

Lav dit SSH nøgle-par

På Mac såvel som på Linux, virker det på nøjagtig samme måde. Da begge operativ systemer bygger på UNIX. Med andre ord, om du sidder på en Mac-computer, eller på din egen Linux-computer derhjemme. Så vil fremgangsmåden være nøjagtig den samme. Dog med den enkle forskel, at på Linux Distributioner såsom Ubuntu Desktop til PC - kan det hænde at SSH ikke er installeret. Hvis det ikke er installeret, så kan du nemt hente det med apt-get install openssh, hvorimod at på Mac-computere kommer det med operativ systemet som standard.

Det første vi skal gøre er at lave nøglerne som vi skal bruge og det kan vi meget simpelt gøre med ssh-keygen-kommandoen. Så vi åbner vores Terminal og skriver:

ssh-keygen

Bemærk at vi ikke bruger sudo, da vi vil lave nøglerne for vores egen bruger på systemet og ikke for vores "root" bruger.

Vi skal nu gå igennem guiden for at lave vores SSH nøgler.

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/dhh/.ssh/id_rsa): <ENTER>
Enter passphrase (empty for no passphrase): <KOMPLEKS KODE>
Enter same passphrase again: <KOMPLEKS KODE IGEN>
Your identification has been saved in /Users/dhh/.ssh/id_rsa.
Your public key has been saved in /Users/dhh/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:wQWw0k6htxE0yT6wBqsHd4I7QMgC18XC2XG9rEjiE70 [email protected]
The key's randomart image is:
+---[RSA 2048]---- 
|= .o BO oo.      |
|o . *o=B ..      |
|o. oo** o. .     |
|    *==o .o      |
|.= =  o S.       |
|  . o E .        |
| o   .           |
|                 |
|                 |
 ----[SHA256]----- 

Først beder guiden os om at indtaste et navn til vores generede SSH nøgler. Hvis vi blot trykker på enter-tasten, vil den bruge standarden som er id_rsa og id_rsa.pub i vores hjemmemappe under .ssh mappen. (~/.ssh, "~"-tegnet er en genvej for at komme direkte til din hjemmemappe på både Mac og Linux systemer.)

Efter det beder guiden os om at indtaste en "passphrase". Det er koden som du skal bruge, når du skal åbne din a-nøgle (private nøgle) før at du logger ind på en server for første gang. De fleste systemer, Mac såvel som Linux Distributioner - bruger noget som hedder en ssh-agent. Kort fortalt, husker den din kode i et stykke tid, så du ikke skal skrive din kode hver gang at du vil logge på en server. Så hvis du f.eks. har tre forskellige servere du vil logge på, så skal du kun skrive den én gang. Den husker det simpelthen (midlertidigt) for de næste to. Jeg anbefaler at du har en rimelig kompleks adgangskode. Ligesom i vores blogindlæg omkring password-managers, må denne her kode f.eks. godt være noget lignende "rød grød med sov og kartofler".

Efter at det så er gjort, vil den lave de to filer. Din "a-nøgle" og din offentlige nøgle som du ligger på en server. (id_rsa = privat nøgle, id_rsa.pub = offentlige nøgle.)

Næste skridt er at ligge din offentlige nøgle ud på en Linux server et sted og at teste om din a-nøgle virker.

Upload din offentlige nøgle (Public Key) til din Linux server

Der findes mange måder at uploade din offentlige nøgle på, men den mest brugte på Linux systemer er ssh-copy-id-kommandoen.

Sidder du på en Linux maskine kan du ganske simpelt uploade din offentlige nøgle (Public Key) til en Linux server på nettet ved at skrive:

ssh-copy-id [email protected]

Du vil blive bedt om at indtaste din kode til din bruger som normalt, siden vi ikke har vores offentlige nøgle (Public Key) på serveren endnu. Når det er gjordt, vil den så tilføje din offentlige nøgle til Linux serveren og logge ud af serveren igen.

[email protected]'s password: <INDTAST KODE SOM NORMALT>

Number of key(s) added:        1

Now try logging into the machine, with:   "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.

På Mac, har vi ikke noget lignende ud af boksen - så vi vil istedet benytte os af gode gamle bash kommandoer:

cat ~/.ssh/id_rsa.pub | ssh [email protected] "mkdir -p ~/.ssh && cat >>  ~/.ssh/authorized_keys"

Kort fortalt vil denne noget lange kommando, gøre nøjagtig det samme som ssh-copy-id. "[email protected]", skal selvfølgelig være dine oplysninger til - når du normalt logger ind på din server med dit brugernavn og kodeord.

Du vil også her blive bedt om at indtaste din kode til din bruger som normalt på serveren. Den visser dog ikke at den gør noget, den ligger bare din offentlige nøgle (Public Key) ind på serveren og logger ud igen.

Teste om din offentlige nøgle (Public Key) til din Linux server blev uploadet korrekt

Nu kan vi teste om den faktisk har lagt din offentlige nøgle (Public Key) korrekt ind på din Linux server. Det gør vi meget simpelt ved at logge ind som normalt:

ssh [email protected]

Du vil nu blive bedt om din passphrase (kode) til din a-nøgle (Private Key) i stedet for som normalt, at blive bedt om dit kodeord til din bruger på din Linux server. Hvis du allerede har prøvet at logge på én gang før, som normalt - og allerede har indtastet din passphrase for din a-nøgle. Så har din computer husket det. Og næste gang. (Ind til at du genstarter din computer eller lignende.) Vil den huske din passphrase og logge ind automatisk.

Opsæt din server til kun at tage imod SSH nøgler

Nu da du har lavet og testet din SSH nøgle for at kunne komme ind på din Linux server, ville det jo være en fordel at din Linux server kun tager imod logins med SSH nøgler. Som standard tager en Linux server nemlig imod både password logins som vi kender det men også imod SSH nøgle logins ud af boksen. Men vi kan deaktivere password logins og dermed gøre det obligatorisk for folk at bruge SSH nøgler som højner vores sikkerhed.

Vi skal ændre /etc/ssh/sshd_config filen for at kun at tage imod SSH nøgle logins:

sudo sed -i -e s/"#PasswordAuthentication yes"/"PasswordAuthentication no"/ /etc/ssh/sshd_config

Overstående kommando vil ændre vores /etc/ssh/sshd_config fil. Mere specifikt, vil den finde "#PasswordAuthentication yes" i filen og erstatte den tekst med "PasswordAuthentication no".

Du kunne også manuelt gå ind med eksempelvis sudo nano /etc/ssh/sshd_config, rette filen for derefter at gemme.

Før at vores nu rettet /etc/ssh/sshd_config vil tage effekt, bliver vi lige nød til at genstarte ssh servicen:

sudo service ssh restart

Og det var det, nu er log ind med passwords slået fra på vores Linux server.

Advarsel: Det betyder dog, at hvis du mister din private SSH nøgle ("a-nøgle") - vil du også miste adgangen til din server. Så hav altid en backup af din "~/.ssh/"-mappe!

Et par sidste ord

Nu har du succesfuldt lavet SSH nøgler og succesfuldt smidt din offentlige nøgle (Public Key) op på din server og har dermed ikke kun gjort den mere sikker - men også gjordt det meget nemmere for dig selv at logge ind. Hvis du har mange servere som du logger ind på, kan du snildt smide din offentlige nøgle op på flere servere - og derefter logge ind på dem alle sammen med din a-nøgle. (Private Key.)

Gratis bruger på v5.dk

  • Kan opgraderes til Premium!
  • Adgang til basis-funktioner
  • Adgang til forum og svar
  • Adgang til support-systemet
  • Adgang til vores blog
  • Adgang til gratis artikler
  • Adgang til markedspladsen

Det tager mindre end 10 sekunder

Bliv gratis medlem på v5.dk

Opret ny gratis bruger

Forum-emner om Linux

Emne Svar Løst
Avatar for annatjoernelundNogen der arbejder med Raspberry Pi som PLC.....så vil jeg gerne sparre lidt med jer.......
Linux | @annatjoernelund
05
Avatar for SynnoveLinux Server
Linux | @Synnove
715
Avatar for HrCalmar#!/usr/bin/php - PHP
Linux | @HrCalmar
4
Avatar for HrCalmarsudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
Linux | @HrCalmar
4
Avatar for pstoFejl ved Cronjobs
Linux | @psto
2
Avatar for TaxickPublic Key + Windows + Centos 7.2
Linux | @Taxick
10
Avatar for PalleAdgang til ikke redelegeret domæne på V5-Cloudserver
Linux | @Palle
3
Avatar for Taxick{CentOS 7 - FirewallD] Åben SSH for fast IP ellers block
Linux | @Taxick
7
Har du et spørgsmål om Linux?

Få svar på dine spørgsmål om f.eks. Linux eller andre IT- og teknologi relaterede emner. Vores forum er gratis, og giver dig mulighed for at oprette og svare spørgsmål.

Nyt spørgsmål Gå til forum
v5.dk

Du kan også følge os på Twitter og Instagram

Bygget med af v5.dk
© Copyright 2006-2023 • Forretningsbetingelser • Copyright • Persondata- og Cookiepolitik
v5.dk ApS - Åbogade 15 - 8200 Aarhus N - CVR: 36902833
v5.dk logo
Hej, vi hedder v5.dk og vi laver e-learning på dansk

v5.dk er sat i verden for at gøre teknologi tilgængeligt og anvendeligt for både professionelle og almindelige brugere på alle niveauer.

93 200 555
  Skriv til os
v5.dk bruger cookies til at huske dine indstillinger, livechat samt til statistik
 

Alle vores priser er inkl. moms Sikker SSL-beskyttet forbindelse

Dankort og Visa-Dankort  Visa  Mastercard og Mastercard Junior  Maestro

  • Produkter
  • v5.dk Premium
  • Cloud-servers
  • v5.dk
  • Om v5.dk
  • Kunderne siger
  • Kontakt os
  • Presse
  • Stay updated
  • RSS & tjenester
  • Søg på v5.dk
  • Sitemap