1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Deutsch
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  1. Informatik Forum
  2. Webmaster & Internet
  3. Webmaster Allgemein

SSH Zugang mit Schlüssel absichern

  • Syntafin
  • 30. Mai 2023 um 23:57
  • Unerledigt
  • Online
    Syntafin
    27
    Syntafin
    LISTstack Dev
    Reaktionen
    498
    Punkte
    7.773
    Trophäen
    2
    Beiträge
    1.412
    • 30. Mai 2023 um 23:57
    • #1

    Damit es im Smalltalk Thread nicht untergeht, kommt es hierhin :grinning_face_with_smiling_eyes: .


    Viele denken sich bestimmt beim ersten eigenen Server (egal ob Droplet, VPS oder Dedicated) "ach ein starkes Passwort reicht schon! Von mir will eh keiner was".

    Bitte, bitte hört mit diesem Gedanken auf! Ein Server ist 24/7 erreichbar und vor allem bietet ein jedes offene System im Internet 2 Dinge die Betrüger und andere wollen und brauchen:

    • Eine IP Adresse die nicht gesperrt ist
    • Ressourcen (CPU Zeit, RAM, Bandbreite)

    Ja es gibt Dinge wie "fail2ban" die den Einbruch erschweren, aber wie oft ändert ihr euer Passwort? Wer sagt das ein Hacker (ich nenne das hier mal so nun, der Einfachheit halber) nicht durch Zufall beim ersten Versuch auf euer Passwort kommt?

    Dazu kommt, das viele ja gerne das vom ISP gesetzte Passwort einfach lassen, womit kommt das? Meist per Mail, unverschlüsselt. Auch heute ist Verschlüsselung bei Emails nicht verbreitet (sogar Meta bietet es an :astonished_face: ), das man in Deutschland wieder Deutsch sein wollte... und einen offenen Standard hinter einer Bezahlschranke stellte und als propitär verkaufte, machte es nicht besser!

    Doch back2topic (Ich greife für die Screenshots auf eine Sandbox VM zurück):

    Wie sichert man nun seinen Server, NAS, etc mit einem Schlüssel ab?

    Zu allererst legen wir dafür ein Schlüsselpaar an, das wir an einem sicheren Ort als Sicherheitskopie haben sollten:

    Zum anlegen des Schlüsselpaares verwenden wir das Programm ssh-keygen (das gibts sowohl unter Windows, als auch unter Linux), bedenkt das dies auf dem Host-System passiert, nicht auf dem Server!

    Im Normalfall sollte dort als Standardpfad der Pfad zu eurem Nutzerordner stehen (im aktuellen Fall, bei mir: C:\Users\sirzi\.ssh\, den könnt ihr so belassen auch.

    id_rsa ist der Dateiname, und sollte ebenfalls nicht geändert werden.

    Im Anschluss frägt euch das Programm nach einer Passphrase, das ist mit einem Kennwort vergleichbar, dies könnt ihr leer lassen oder eine festlegen, so habt ihr eine zusätzliche Sicherheit, sollte mal euer Privater Key geklaut werden:

    Nach Bestätigung ist euer SSH Key auch schon angelegt, wenn ihr den Ordner vom Anfang öffnet, findet ihr dort nun 2 Dateien: id_rsa und id_rsa.pub

    Die erste ist euer Privater Schlüssel und darf unter keinen Umständen herausgegeben werden! Für die nächsten Schritte interessant, ist der Public Key, in der .pub Datei,

    deren Inhalt sieht in etwa so aus:

    Code
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDK/+9OQLGnuksLh7hZylidVCbpFUfQLTP6QzVDY1gTAmOy4zf129PvqA9n9bQqR3G9YYfQy2Sn/LGI880bsBwEBNdOkKSNZGxH3dkLE3DitxV1UbYncPCg6VJ4M5lcKply5eyT4I0IKNNi6cPTapkqUa0E/0PHOnvKn0ngPqplvmiw42sFdFfsuLLFs/dUGUWvaohYwozXU7biz442oqaDvbLg73Ty6pEtkpkVYVcH5trJF/aVmv2ztJ33BfB3YagNZ+SjBAJax/zqdmAOxwQzcvSY3tLDPTzCT73x8mbNTCyUl1b2p/YiYRzzZWww65v+rTQXoMQh5qOEpn5Y03b3R+eou65twCpBu9h3lYrzvfVdO72GJjLDtM/9j0PblyvdPqlwmuR54QIt09MBTTN0ceLrG2C3Jb5r6NcOFVD/6HAuooflMq/j+1N4kaxhYIxSgaW7/L9kZJbzGn1GCphhvOpwGNTe0muTbcQpbmXL177h6hmuHx9M4W0aSBITARE= sirzi@YoRHa-Command

    Diesen Key fügen wir nun auf unserem Linux Server ein!

    Zu allererst, loggt euch wie gewohnt via SSH auf euren Server ein:

    (ja ich war faul... xD)

    Anschließend öffnet ihr die folgende Datei, für den Nutzer den ihr ändern möchtet (in meinem Beispiel der root-Benutzer, bitte bedenkt diesen zum einloggen via SSH völlig zu schließen und stattdessen einen Nutzer mit sudo Rechten zu verwenden!):

    /home/username/.ssh/authorized_keys

    Tipp:

    Unter Linux Systemen (Win/Mac ungetestet) kann man mit ssh-copy-id username@remote_host den Schlüssel auf das Zielsystem kopieren lassen

    Diese Datei ist, normalerweise leer (und neu) falls ihr nicht schon welche Eingetragen habt!

    Dort fügt ihr nun euren Publickey ein:

    Und speichert das ganze ab! (Bei nano, wie im Bild: CTRL+X -> Y -> Enter)

    Anschließend öffnet folgende Datei: /etc/ssh/sshd_config und sucht dort nach folgenden Einträgen:

    • PermitRootLogin -> auskommentieren (das # entfernen) und schauen das da yes dahinter steht, damit verbietet ihr das einloggen via SSH als root
    • PubkeyAuthentication -> ebenfalls auskommentieren und auf Ja stellen
    • AuthorizedKeysFile -> auskommentieren, es sollte Standard die Pfade .ssh/authorized_keys und .ssh/authorized_keys2 dort stehen
    • PasswordAuthentication -> auskommentieren (falls nur als Kommentar) und auf no stellen!
    • PermitEmptyPasswords -> auskommentieren und auf yes

    Anschließend kannst du mit sudo systemctl restart ssh den SSH Dienst neustarten.

    Bevor du die SSH Verbindung schließt, öffne eine zweite Terminal Sitzung und verbinde dich zum versuch mit dem Zielsystem, ohne Passwort. So kannst du prüfen ob es funktioniert und im Notfall noch mal nachschauen!

    Falls du 100% sicher gehen willst, auch gerne den Server neustarten.


    Sollte alles geklappt haben, sieht der Login nun so aus:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Bonus:
    Manche Anbieter (Beispiel Hetzner), bieten die möglichkeit die Server direkt nur mit Publickey auszuliefern:


    Neben Publickey haben sich auch verfahren wie U2F (FIDO) und Passkeys etabliert, werden aber nicht von allen Clients unterstützt.

    Falls noch fragen gibt: Raus damit, vielleicht habe ich ja was übersehen :smiling_face_with_halo:

    Bilder

    • pasted-from-clipboard.png
      • 951,25 kB
      • 1.149 × 612

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

    Einmal editiert, zuletzt von Syntafin (2. Juni 2023 um 02:21)

  • ai3x
    1
    ai3x
    Gast
    • 31. Mai 2023 um 18:51
    • #2

    Man kann sich das ganze rumkopieren unter Unix Systemen vereinfachen indem man nach dem ssh-keygen einfach ein

    Code
    ssh-copy-id username@remote_host

    hinterher schiebt . FERTIG

  • Online
    Syntafin
    27
    Syntafin
    LISTstack Dev
    Reaktionen
    498
    Punkte
    7.773
    Trophäen
    2
    Beiträge
    1.412
    • 31. Mai 2023 um 18:56
    • #3
    Zitat von ai3x

    Man kann sich das ganze rumkopieren unter Unix Systemen vereinfachen indem man nach dem ssh-keygen einfach ein

    Code
    ssh-copy-id username@remote_host

    hinterher schiebt . FERTIG

    Gut zu wissen :grinning_face_with_smiling_eyes: ich mache das schon lange nicht mehr von Hand, daher mir neu.

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

  • flyingtable07
    18
    flyingtable07
    Mitglied
    Reaktionen
    59
    Punkte
    3.564
    Trophäen
    1
    Beiträge
    678
    • 31. Mai 2023 um 19:07
    • #4

    Yeah, Vielen Dank, hat geklappt!

  • martin
    14
    martin
    Mitglied
    Reaktionen
    69
    Punkte
    1.904
    Beiträge
    359
    • 1. Juni 2023 um 22:51
    • #5
    Zitat von Syntafin

    Anschließend kannst du mit sudo systemctl restart ssh den SSH Dienst neustarten.

    Praxistipp: Zweites Terminal öffnen, um zu testen, ob es läuft wie gewollt. Wenn nicht, hat man das erste noch offen, um es zu fixen.

  • Online
    Syntafin
    27
    Syntafin
    LISTstack Dev
    Reaktionen
    498
    Punkte
    7.773
    Trophäen
    2
    Beiträge
    1.412
    • 1. Juni 2023 um 23:25
    • #6

    Ich trage die Tipps von Taurus und martin noch im ursprünglichen Beitrag nach :)

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Tags

  • ssh
  • linux
  • publickey

Rechtliches

Impressum

Datenschutzerklärung

  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  • Deutsch
  • English
Zitat speichern