ubuntuusers.de

PubkeyAuthentication=yes

Status: Gelöst | Ubuntu-Version: Ubuntu 24.04 (Noble Numbat)
Antworten |

silvertux

Avatar von silvertux

Anmeldungsdatum:
18. April 2012

Beiträge: 200

Hallo Mitlesende ☺

obwohl ich meine, alle Einstellungen bereinigt zu haben,

bleibe ich bei diesen 2 hosts hängen:

1 
ubuntu 24.04.5 LTS asusTek N550JV 16GB 1TB
openssh-server + -client 9.6p1-3ubuntu13.19
2 
ubuntu 26.04.1 LTS asusTek zenbook14 UX3405CA 32gb 1TB
openssh-server + -client 10.2p1-2ubuntu3.6

ssh mit passwort funktioniert in BEIDE Richtungen:

ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no -o PasswordAuthentication=yes user@ip

ssh mit Schlüssel funktioniert NUR von 2 zu 1:

ssh -o PreferredAuthentications=publickey -o PubkeyAuthentication=yes -o PasswordAuthentication=no user@ip
ssh von 1 zu 2 = Permission denied (publickey,password)

~/.ssh/config bei beiden identisch, keys analog:

-rw-------  1 xyz xyz  id_ed25519
-rw-r--r--  1 xyz xyz  id_ed25519.pub

/etc/ssh/ssh_config bei beiden identisch:

PasswordAuthentication no
UpdateHostKeys yes

/etc/ssh/sshd_config bei beiden identisch:

PermitRootLogin no
PubkeyAuthentication yes

bei 2 ein symlink in /etc/ssh/ssh_config.d

lrwxrwxrwx 1 root root  
20-systemd-ssh-proxy.conf -> 
/usr/lib/systemd/ssh_config.d/20-systemd-ssh-proxy.conf

Wo habe ich was übersehen?

Oder liegt es an den unterschiedlichen Versionen?

Danke für Ratschläge, wie ich PubkeyAuthentication=yes hinkriege ☺

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14788

silvertux schrieb:

..., wie ich PubkeyAuthentication=yes hinkriege ☺

BTW:

Der Eintrag AuthenticationMethods publickey in der Konfigurationsdatei /etc/ssh/sshd_config bewirkt, dass
ein Benutzer ausschließlich per SSH-Schlüssel (Public-Key) authentifiziert werden
muss, um Zugriff auf den Server zu erhalten.

weholei

Anmeldungsdatum:
7. Februar 2019

Beiträge: 1081

Wohnort: Mittelfranken

Ich poste einmal meine sshd-config zum vergleichen

Port xxxx
PermitRootLogin prohibit-password
PasswordAuthentication no
PubkeyAuthentication yes
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding yes
PrintMotd no
AcceptEnv LANG LC_*
Subsystem       sftp    /usr/lib/openssh/sftp-server
IgnoreRhosts yes
IgnoreUserKnownHosts no
StrictModes yes
PermitEmptyPasswords no
KbdInteractiveAuthentication yes

Warum du die vielen Parameter angibst, verstehe ich nicht

ich mache nur z.B : ssh pi4

silvertux

(Themenstarter)
Avatar von silvertux

Anmeldungsdatum:
18. April 2012

Beiträge: 200

lubux schrieb:

Eintrag AuthenticationMethods publickey in sshd_config ...

weholei schrieb:

meine sshd-config zum vergleichen ...

Danke, ich habe das gerne übernommen.

Auch nach erfolgreichem ssh-copy-id wollte ssh von 1 zu 2 nicht.

Dieses entdeckte tool hilft nun perfekt:

https://github.com/ccontavalli/ssh-ident

.
mkdir -p ~/bin; wget -O ~/bin/ssh goo.gl/MoJuKB; chmod 0755 ~/bin/ssh
+
echo 'export PATH=~/bin:$PATH' >> ~/.bashrc
+
Logout, login =
statt standard ssh nun ssh-ident

Beispiel= hier von 1 zu 2:

ssh user@host
Loading keys:
    /home/abc/.ssh/id_ed25519
Enter passphrase for /home/abc/.ssh/id_ed25519: 
Identity added: /home/abc/.ssh/id_ed25519 (root@host)
Lifetime set to 7200 seconds
Welcome to Ubuntu 26.04.1 LTS ...

Bearbeitet von schwarzheit:

Forensyntax korrigiert.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14788

silvertux schrieb:

Beispiel= hier von 1 zu 2:

ssh user@host
Loading keys:
    /home/abc/.ssh/id_ed25519
Enter passphrase for /home/abc/.ssh/id_ed25519: 
Identity added: /home/abc/.ssh/id_ed25519 (root@host)
Lifetime set to 7200 seconds
Welcome to Ubuntu 26.04.1 LTS ...

BTW: Der ssh-Befehl wird für den Benutzer "root" ausgeführt, und der Schlüssel (pubkey) stammt aus dem home-Verzeichnis des Benutzers "abc".
Das ist nicht "best practice" bzw. ich denke nicht, dass Du genau weißt, was Du da gemacht hast.

silvertux

(Themenstarter)
Avatar von silvertux

Anmeldungsdatum:
18. April 2012

Beiträge: 200

lubux schrieb:

der Schlüssel (pubkey) stammt aus dem home-Verzeichnis des Benutzers "abc"

ssh-keygen -o
save the key /home/abc/.ssh/id_ed25519

Und von dort nimmt dann ssh-ident den Schlüssel her. Wählte das Verzeichnis ~/.ssh bewusst, um die Schlüssel in der Nähe unter Kontrolle zu haben.

Heisst "best practice", alle keys müssen in /etc/ssh oder sogar in /root/.ssh?

Sympathischer wäre mir, der key würde abc@host heissen.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14788

silvertux schrieb:

Sympathischer wäre mir, der key würde abc@host heissen.

Oben hast Du so:

ssh user@host

anonymisiert, oder?
War der user "abc" oder "root" bzw. hast Du dich per ssh, als root angemeldet?

silvertux

(Themenstarter)
Avatar von silvertux

Anmeldungsdatum:
18. April 2012

Beiträge: 200

lubux schrieb:

per ssh, als root angemeldet?

sudo ssh-keygen -o
Generating public/private ed25519 key pair.
Enter file in which to save the key /home/userxy/.ssh/id_ed25519

also im eigenen Laptop mit sudo, nicht per ssh im 2. Laptop - Ergebnis: root@host

Gibt es eine sinnvollere Art den eigenen Schlüssel zu erzeugen?

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14788

silvertux schrieb:

Gibt es eine sinnvollere Art den eigenen Schlüssel zu erzeugen?

Es geht nicht um den Schlüssel.
Wenn Du dich jetzt von 1 zu 2 angemeldet hast, wie ist dann dort die Ausgabe von:

whoami

?

EDIT:

BTW: Wie bei dir auf 1, die Ausgabe von:

ssh-add -l

? Meine ssh-Clients sind absichtlich so konfiguriert, dass jedes mal nach der ssh-Passphrase gefragt wird. Z. B.:

:~$ ssh-add -l
Could not open a connection to your authentication agent.

(d. h. ssh in der pursten Form 😉 ).

silvertux

(Themenstarter)
Avatar von silvertux

Anmeldungsdatum:
18. April 2012

Beiträge: 200

lubux schrieb:

von 1 zu 2 angemeldet

userxy@host2:~$ whoami
userxy

Ich heisse auf beiden Geräten gleich, weiss also nicht ob userxy@host1 oder userxy@host2 gemeint ist.

ssh-ident verlangt ebenfalls passphrase.

userxy@host1:~$ sudo ssh-add -l
[sudo: authenticate] Password:  (bringt nichts)         
Could not open a connection to your authentication agent.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14788

Warum hast du jetzt sudo benutzt (… für ssh-add)?

silvertux

(Themenstarter)
Avatar von silvertux

Anmeldungsdatum:
18. April 2012

Beiträge: 200

lubux schrieb:

Warum sudo ?

Weil ohne dieselbe Antwort kam.

userxy@host1:~$ ssh-add -l
Could not open a connection to your authentication agent.
. 
userxy@host1:~$ sudo ssh-add -l
[sudo: authenticate] Password:          
Could not open a connection to your authentication agent.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14788

silvertux schrieb:

Ich heisse auf beiden Geräten gleich, weiss also nicht ob userxy@host1 oder userxy@host2 gemeint ist.

Was hat es dann mit dem User "abc" auf sich? Denn:

ssh user@host
Loading keys:
    /home/abc/.ssh/id_ed25519
Enter passphrase for /home/abc/.ssh/id_ed25519: 
Identity added: /home/abc/.ssh/id_ed25519 (root@host)

Ist mit "abc" dann der User "userxy" gemeint?

silvertux

(Themenstarter)
Avatar von silvertux

Anmeldungsdatum:
18. April 2012

Beiträge: 200

lubux schrieb:

mit "abc" dann der User "userxy" gemeint?

ja, richtig - weil mit 'userxy' die Interpretation 'root' besser vermieden wird

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14788

silvertux schrieb:

ja, richtig - weil mit 'userxy' ...

OK, wie ist dann der Inhalt der config-Datei auf den Hosts:

cat ~/.ssh/config

?

Antworten |