SSH-Key erzwingen

  • Moin!


    Ich bin von anderen Anbietern gewohnt die SSH Keys über Cloud Init zu installieren, hier gibts das ja nicht.

    Im Internet habe ich nur anleitungen gefunden wie man neue Keys erstellt, bzw. wie man bereits existierende via Linux hochlädt.


    Ich habe einen sudo Benutzer bei der DVD installation angelegt, daher müsste der root deaktiviert sein.

    Ich habe bereits einen Key mit Putty erstellt, wie übertrage ich diesen auf den Server und erzwinge Key only login?



    Danke für eure Hilfe!

    compi.dev

    Ein Mensch hat zwei Beine, ein Regenwurm hat keine.

  • Du kannst es mal mit

    Code
    PasswordAuthentication no

    in der "/etc/ssh/sshd_config" versuchen. Evtl braucht es auch noch ein "ChallengeResponseAuthentication no". Das kann von Distribution zu Distribution unterschiedlich sein. Kommt in diesem Fall darauf an ob "UsePAM yes" gesetzt ist.

    Edit: Gerade erst gesehen, dass du den Key noch gar nicht installiert hast. Dann warte mit dem Deaktivieren, bis der Key Login funktioniert. Du kannst den Public Key in der "~/.ssh/authorized_keys" hinterlegen. Aber achte darauf, dass die Permissions auf 0600 gesetzt sind.

  • Ja, achte aber darauf, dass der Key das richtige Format hat. Ich bin jetzt kein Putty User, daher bin ich nicht sicher, wie es aussieht, aber bei Windows ist das öfter man anders. Der Pubkey muss etwa so aussehen:

    ssh-ed25519 yyalkjdalksjdlaskjdl...

    oder

    ssh-rsa askdajshdkjahskdj...

    Das ist eine Zeile und fängt mit "ssh-" an. Kannst mir auch gerne eine PN mit dem Pub Key schicken, dann schaue ich mir das vorher gerne mal an.

  • Hab die einstellungen in der SSH Config so gesetzt wie es sein muss, usePam ist auf yes. Der Key funktioniert, komme allerdings weiterhin mit Passwort rein

    Hab die Maschine schon neugestartet

    compi.dev

    Ein Mensch hat zwei Beine, ein Regenwurm hat keine.

  • Dann hast du wahrscheinlich vergessen sshd neuzustarten


    EDIT: oh, du hast ja neugestartet, dann poste doch mal die Ausgabe von sshd -T

    Meine Minecraft-Plugins auf SpigotMC (Open Source): www.spigotmc.org/members/mfnalex.175238/#resources

    Discord: discord.jeff-media.com

  • Nächstes "Problem" :S

    Das System fragt mich nun weiterhin nach meinem Password wenn ich sudo Befehle ausführe, das würde ich gern noch deaktivieren. Was ist die richtige Einstellung dafür?

    compi.dev

    Ein Mensch hat zwei Beine, ein Regenwurm hat keine.

  • Das System fragt mich nun weiterhin nach meinem Password wenn ich sudo Befehle ausführe...

    Das ist ja eigentlich auch so gedacht. ;)

    (Es wird aber nicht jedesmal gefragt? Sondern nur beim ersten Mal in einer neuen Shell bzw. nach einer längeren Nichttätigkeit, oder?)

  • Mir war wie default 10 Minuten, aber ich nutze sudo auch nur mit Passwort - ist schließlich ne weitere Sicherheitshürde, falls man doch mal ein Terminal versehentlich offen lässt. :D


    Bei einigen Maschinen habe ich jedoch eine Hand voll meiner häufigsten wiederkehrenden Befehle (die das System auch nicht schrotten würden ;)) per sudo ohne PW freigegeben (siehe "Run only specific sudo commands without password"), für alles andere wird nach wie vor das PW abgefragt.

  • So, zuerst möchte ich mich für den necropost entschuldigen ^^


    War gerade dabei einen neuen server mit Ubuntu 22.04 in Betrieb zu nehmen, allerdings gibt es in der /etc/ssh/sshd_config den Wert PasswordAuthentication 2 mal:

    pasted-from-clipboard.png

    und dann ganz unten am file:


    pasted-from-clipboard.png



    Kann mir das jemand vielleicht genauer erläutern? Danke :)

    compi.dev

    Ein Mensch hat zwei Beine, ein Regenwurm hat keine.

    Edited once, last by RAD750 ().

  • Da gibts nicht viel zu erklären, das ist einfach Quark.


    Bzw. wenn es ganz unten am Dateiende steht oft das Ergebnis von irgendwelchen Tutorials die nach dem Schema 'echo zeug >> datei' anhängen arbeiten weil Einzeiler sind toll und editieren ist ja zu kompliziert...


    In der sshd_config manpage steht, "For each keyword, the first obtained value will be used." die letzte Zeile dürfte daher in deinem Fall ignoriert werden. Aber eine Garantie dafür gibts nicht, daher - lieber korrigieren so daß es keine doppelten Einträge gibt.

  • War gerade dabei einen neuen server mit Ubuntu 22.04 in Betrieb zu nehmen, allerdings gibt es in der /etc/ssh/sshd_config den Wert PasswordAuthentication 2 mal: […]

    Kann mir das jemand vielleicht genauer erläutern? Danke :)

    Da hat sich aber wohl jemand™ an den Einstellungen zu schaffen gemacht, bei einem sauberen System ( :whistling: ) ist das nämlich nicht der Fall:

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE

    Edited 3 times, last by m_ueberall: Wortstellung / grep -U1 ().

    Like 4
  • ... und dann ganz unten am file:

    pasted-from-clipboard.png

    Kann mir das jemand vielleicht genauer erläutern? Danke :)

    Da der Zombie eh schon ausgebuddelt ist, hier nochmal eine etwas größere Erklärung...

    Der Block unten - man beachte vor allem die Einrückung - war dafür gedacht zu zeigen, wie man bestimmte oben schon global definierte Einstellungen wie hier im Beispiel PasswordAuthentication no für bestimmte Benutzer wie den anoncvs wieder übersteuert werden könnte. Da aber in dem Block die Zeile #Match user anoncvs eben nicht auskommentiert wurde ist natürlich eine zweite umgekehrte Anweisung ganz am Ende natürlich unsinnig und gehört raus. Folgende Konfiguration würde aber trotz deaktivierter globaler Passwort Authentifizierung diese für den Benutzer anoncvs übersteuert aktivieren - hier mal mit deutschem Kommentar:

    Beispiel sshd_config mit deaktivierter Passwort Authentifizierung außer für den Benutzer anoncvs:

    Code
    # Zuerst global keine Passwort Authentifizierung zulassen
    PasswordAuthentication no
    
    # (weitere Konfiguration)
    
    # Aber für den Benutzer anoncvs erlauben wir trotzdem
    Match User anoncvs
         # beachte die Einrückung ... die Authentifizierung am sshd per Passwort
         # (weitere Konfiguration, die für anoncvs übersteuert wird)
         PasswordAuthentication yes

    WH8000 SE 🥚 20 | WH1000 SE OST22 | WH1000 SE OST23 | WH1000 SE OST24 | WH 🥚🧶🥛🐖 | 🦆 VPS 200 🇺🇦🕊️

    Edited once, last by Copro: bla ().

    Like 3
  • Das PasswordAuthentication ist da ein Fremdkörper und war ursprünglich nicht Teil des Beispiels für den Match Block. Das wurde der Datei einfach nur angehängt.


    Die Einrückung ist auch nur für den Menschen da, für den Match Block selbst spielt diese keine Rolle. Der Match Block geht bis zum nächsten Match Block oder bis zum Dateiende. Deswegen stehen die wenn dann auch ganz unten... irgendwo mitten rein geht nicht, auch wenn die Einrückung das an sich so suggerieren könnte.