149680
Feb 06, 2023
2837
29
0
SSH Key Exchange Ubuntu Server and Client
Hallo Commnity,
ich habe heute festgestellt, dass ich beim SSH login auf meinen Ubuntu Server 22.04. trotz der Einrichtung von ssh-keys aufeinmal eine zusätzliche Passwortabfrage für meinen User erfolgt. Diese Abfrage hatte ich vorher nicht. Ich kann mich auch an keine Änderungen erinnern, die dies verursachen könnte.
Ich habe den ssh key meines clients auf dem server gelöscht (authorized_keys) und wieder kopiert (ssh-copy), allerdings ohne erfolg. Merkwürdiger Weise kann ich die Abfrage mit strg+x abrechen und lande deenoch normal auf meinen system. die sshd_config sieht unverändert aus -> keine Änderungen gemacht die die Abfrage zur Folge haben könnten.
Habt ihr eine Idee?
ich habe heute festgestellt, dass ich beim SSH login auf meinen Ubuntu Server 22.04. trotz der Einrichtung von ssh-keys aufeinmal eine zusätzliche Passwortabfrage für meinen User erfolgt. Diese Abfrage hatte ich vorher nicht. Ich kann mich auch an keine Änderungen erinnern, die dies verursachen könnte.
Ich habe den ssh key meines clients auf dem server gelöscht (authorized_keys) und wieder kopiert (ssh-copy), allerdings ohne erfolg. Merkwürdiger Weise kann ich die Abfrage mit strg+x abrechen und lande deenoch normal auf meinen system. die sshd_config sieht unverändert aus -> keine Änderungen gemacht die die Abfrage zur Folge haben könnten.
Habt ihr eine Idee?
Please also mark the comments that contributed to the solution of the article
Content-ID: 5882163175
Url: https://administrator.de/contentid/5882163175
Printed on: September 18, 2024 at 20:09 o'clock
29 Comments
Latest comment
Moin,
was zeigt er denn im Verbose-Mode an?
Falls es doch die Passphrase-Abfrage ist, hast du womöglich 2 PrivateKeys (einen mit Passphrase und einen ohne).
Wenn du RSA-Login nutzt, warum dann nicht Passwortlogin generell abschalten?
Gruß Thomas
was zeigt er denn im Verbose-Mode an?
ssh -v <user>@<server>
Merkwürdiger Weise kann ich die Abfrage mit strg+x abrechen und lande dennoch normal auf meinen system.
Es handelt sich aber um eine Passwortabfrage des Servers; und nicht um die Passphrase-Abfrage des Private-Keys?Falls es doch die Passphrase-Abfrage ist, hast du womöglich 2 PrivateKeys (einen mit Passphrase und einen ohne).
Wenn du RSA-Login nutzt, warum dann nicht Passwortlogin generell abschalten?
PubkeyAuthentication yes
PasswordAuthentication no
Gruß Thomas
https://www.heise.de/select/ct/2022/21/2223709091059562015
Lesen und verstehen...
Lesen und verstehen...
Wenn es das denn nun war bitte deinen Thread hier dann auch als erledigt schliessen!
- Schlüsselpaar generieren: ssh-keygen -t ed25519 \ -f ~/.ssh/netzer.ed25519 \ -C "Schlüssel von netzer"
- Schlüssel an Zielsystem senden: ssh-copy-id -i \ ~/.ssh/netzer.ed25519.pub \ netzer@netzersrv.de
- Alternativ cat ~/.ssh/netzer.ed25519.pub eingeben (Public Schlüssel!!!) und den Output auf dem Server im User Homeverzeichnis unter .ssh in authorized_keys eintragen.
- Wenn du dich neu einloggst wirst du nur nach der Passphrase des Keys gefragt
- Jetzt Passwortabfrage im SSH Setup /etc/ssh/sshd_ config deaktivieren. PasswordAuthentication auf no und auch ChallengeRes ponseAuthentication auf no.
- SSH Daemon neu starten: systemctl restart ssh
- Wenn du es bequem haben willst legst du im Client unter ~/.ssh/ die Datei config an und gibst dort ein:
Host netzer-server HostName netzersrv.de User netzer IdentityFile ~/.ssh/netzer.ed25519
- Dann reicht ein simples ssh netzer-server. Fertisch...
Da müsste doch der pub key vom Server rein?
Die sind aber niemals in /etc/sshd sondern immer im User Verzeichnis /home/userxyz/.sshViel bedenklicher ist "ssh-rsa key not permitted by HostkeyAlgorithms" Bedeutet das dein vom Key verwendeter Hash Algorithmus nicht mit dem des Servers kompatibel ist. Du hast beim Generieren vermutlich etwas anderes verwendet als die vom Server supporteten Optionen rsa-sha2-512, rsa-sha2-256, ecdsa-sha2-nistp256, ssh-ed25519?!
Sudo hat ja per se erstmal gar nichts mit dem SSH Login zu tun. Nach einem klasssichen SSH Login passiert erstmal gar nix. Wenn er nach den sudo Passwort fragt hast du ggf. ein Autostart im Login was das sudo Kommando für den User ausführt. Das hat dann aber mit der eigentlichen Problematik von oben nichts zu tun! Nicht das du hier etwas durcheinander bringst?!
Du kannst das ja einfach testen indem du einmal einen neuen User anlegst und das mit dem durchspielst.
Du kannst das ja einfach testen indem du einmal einen neuen User anlegst und das mit dem durchspielst.
Zitat von @aqui:
oder in der "$HOME/.bashrc".wo könnte ich am besten ansetzen?
Mal in der /etc/passwd nachsehen ob bei dem betroffenen User was beim Login gestartet wird.Gruß Thomas
Zitat von @149680:
In beiden Datein konnte ich keine Unterschiede feststellen
also ruft die /etc/passwd bei dem User /bin/bash auf?In beiden Datein konnte ich keine Unterschiede feststellen
bis auf das in der .bashrc beim user mit userabfrage aliase definiert sind:
für Aliase ist eigentlich die "$HOME/.bash_aliases" gedacht. Sei's drum, daran kann es nicht liegen.Es gibt noch ein paar andere Dateien, an die ggfs. in Frage kommen: ".bash_profile", ".bash_login" oder ".profile" - alle im Homeverzeichnis. Standardmäßig existiert aber eigentlich nur letztere.
Natürlich musst du ggfs. auch alle Dateien checken die von den Dateien gesourced werden.
Hast du schon mal versucht, die Passwortabfrage mit Strg+C abzubrechen? Falls das geht, ist es wahrscheinlich, dass das Problem irgendwo im Homeverzeichnis liegt.
Gruß Thomas
Zitat von @149680:
Gelöst!!
in der .bash_aliases ist anstelle von " scheinbar nur ' zu verwenden.
Nein, man kann genauso gut double quotes verwenden.Gelöst!!
in der .bash_aliases ist anstelle von " scheinbar nur ' zu verwenden.
Dein Problem ist: Wenn du $(...) innerhalb von double quotes verwendest, wird alles innerhalb der Klammern bereits ausgeführt. Du musst in dem Fall das Dollar-Zeichen escapen, um dies zu verhindern:
alias con_sta="sudo docker start \$(sudo docker ps -aq)"
alias con_sto="sudo docker stop \$(sudo docker ps -aq)"
Gruß Thomas