[CLOSED] Passwortloser SSH-Login zwischen 2 Hosts - "PEM_read_PrivateKey failed"

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
JamesByrnes
Beiträge: 106
Registriert: 24.11.2021 11:11:04

[CLOSED] Passwortloser SSH-Login zwischen 2 Hosts - "PEM_read_PrivateKey failed"

Beitrag von JamesByrnes » 14.08.2022 18:08:27

Hi Leute,

ich hätte hier ein SSH-Problem mit zwei Linux-Hosts (RHEL5 und Debian 11). Die Benutzer fi, 550 und 453 liegen auf RHEL5 mit den Home-Verzeichnissen "/home/fi/" (fi und 550) und "/home/optide" für 453. Ich weiß, diese Benutzernamen und die Tatsache, dass mehrere User dasselbe Home-Verzeichnis teilen ist definitiv Mist, ich kann das aber nicht ad hoc ändern, sondern muss eine Lösung finden.

Diese drei User sollen ein Script auf Debian 11 starten, ohne dass ein Passwort eingegeben werden muss. Für fi und 550 bin ich wie folgt vorgegangen:

Code: Alles auswählen

ssh-keygen -t rsa
Eingabe von "/home/fi/.ssh/id_rsa-$USER", um mehrere Identities im gleichen Verzeichnis nutzen zu können.
Passwort bleibt leer-

Code: Alles auswählen

cat /home/fi/.ssh/id_rsa-$USER.pub | ssh fi@172.16.1.198 'umask 077; cat >> .ssh/authorized_keys'
mit Passwort von fi, der auf dem Debian 11-Host existiert.

Für fi und 550 klappt das Einloggen und damit auch die Scriptausführung auf Debian 11-Host:

Code: Alles auswählen

ssh -i /home/fi/.ssh/id_rsa-$USER fi@172.16.1.198
Das funktioniert bei gleicher Vorgehensweise für 453 eben nicht mehr - hat ein eigenes Home-Verzeichnis:

Code: Alles auswählen

-bash-3.2$ ssh -v -i /home/optide/.ssh/id_rsa-453.pub fi@172.16.1.198
OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to 172.16.1.198 [172.16.1.198] port 22.
debug1: Connection established.
debug1: identity file /home/optide/.ssh/id_rsa-453.pub type 1
debug1: loaded 1 keys
debug1: Remote protocol version 2.0, remote software version OpenSSH_8.4p1 Debian-5
debug1: match: OpenSSH_8.4p1 Debian-5 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.3
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-sha1 none
debug1: kex: client->server aes128-ctr hmac-sha1 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<2048<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host '172.16.1.198' is known and matches the RSA host key.
debug1: Found key in /home/optide/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering public key: /home/optide/.ssh/id_rsa-453.pub
debug1: Server accepts key: pkalg ssh-rsa blen 277
[color=#FF0000]debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>[/color]
Enter passphrase for key '/home/optide/.ssh/id_rsa-453.pub':
Ich habe jetzt bereits mehrfach für 453 den Schlüssel neuangelegt und die den jeweils Alten aus /home/fi/.ssh/authorized_keys auf Debian 11-Host gelöscht.
Ich verstehe nicht, warum fi und 550 funktionieren und das gleiche Procedere bei 453 nicht klappt?

Viele Grüße

James
Zuletzt geändert von JamesByrnes am 15.08.2022 10:09:00, insgesamt 1-mal geändert.

Benutzeravatar
cosinus
Beiträge: 3423
Registriert: 08.02.2016 13:44:11
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Bremen

Re: Passwortloser SSH-Login zwischen 2 Hosts - "PEM_read_PrivateKey failed"

Beitrag von cosinus » 14.08.2022 20:12:06

Schonmal was von ssh-copy-id gehört? Oder verstehe ich dich noch nicht? 8O

Benutzeravatar
heisenberg
Beiträge: 3542
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Passwortloser SSH-Login zwischen 2 Hosts - "PEM_read_PrivateKey failed"

Beitrag von heisenberg » 14.08.2022 21:25:11

Enter passphrase for key '/home/optide/.ssh/id_rsa-453.pub':
Das bedeutet, wie ich vermute, dass auf dem private Key eine Passphrase eingerichtet ist, die man vor Benutzung des Schlüssels eingeben muss, um diesen zu entsperren. Möchtest Du das nicht, musst Du die Passphrase entfernen.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

JamesByrnes
Beiträge: 106
Registriert: 24.11.2021 11:11:04

Re: Passwortloser SSH-Login zwischen 2 Hosts - "PEM_read_PrivateKey failed"

Beitrag von JamesByrnes » 15.08.2022 08:43:24

cosinus hat geschrieben: ↑ zum Beitrag ↑
14.08.2022 20:12:06
Schonmal was von ssh-copy-id gehört? Oder verstehe ich dich noch nicht? 8O
Moin moin,
wahrscheinlich Letzteres. Bzw. Lesen führt ebenfalls zur Erkenntnis. Ich habe doch eindeutig geschrieben von welchem Host aus das Ganze erfolgen soll und vor allem was für eine Linux-Distribution mit welcher Version es sich hier handelt. ssh-copy-id wäre in sofern richtig, gibt es aber für diese Version nicht mehr, bzw. "Never change a running system". Vor allem dann, wenn du daran nichts Grundsätzliches verändern sollst, sondern nur diese Funktionalität laufen soll. Die obige Methode funktioniert auch zur Schlüsselübertragung, ssh-copy-id macht auch nichts Anderes.

JamesByrnes
Beiträge: 106
Registriert: 24.11.2021 11:11:04

Re: Passwortloser SSH-Login zwischen 2 Hosts - "PEM_read_PrivateKey failed"

Beitrag von JamesByrnes » 15.08.2022 08:46:48

heisenberg hat geschrieben: ↑ zum Beitrag ↑
14.08.2022 21:25:11
Enter passphrase for key '/home/optide/.ssh/id_rsa-453.pub':
Das bedeutet, wie ich vermute, dass auf dem private Key eine Passphrase eingerichtet ist, die man vor Benutzung des Schlüssels eingeben muss, um diesen zu entsperren. Möchtest Du das nicht, musst Du die Passphrase entfernen.
Auch hier meine Antwort, dass das bereits so eingerichtet ist. Alle User, die das Remote-Script ausführen können sollen, sind nach diesem Schema eingerichtet:

Code: Alles auswählen

1.) echo $USER
2.) ssh-keygen -t rsa
3.) "/home/fi/.ssh/id_rsa-$USER"
4.) "leeres Passwort"
5.) cat /home/fi/.ssh/id_rsa-$USER.pub | ssh fi@172.16.1.198 'umask 077; cat >> .ssh/authorized_keys'
6.) Passwort für fi
7.) ssh -i /home/fi/.ssh/id_rsa-$USER fi@172.16.1.198 muss ohne Passwort funktionieren.
Und ich bin definitiv nicht von diesem Schema abgewichen. Und bei den beiden Ersten läuft das problemlos.

JamesByrnes
Beiträge: 106
Registriert: 24.11.2021 11:11:04

Re: Passwortloser SSH-Login zwischen 2 Hosts - "PEM_read_PrivateKey failed"

Beitrag von JamesByrnes » 15.08.2022 10:08:45

Das Problem hat sich jetzt irgendwie ohne jegliches weiteres Zutun in Luft aufgelöst. Mit den gestern anlegten Schlüsseln hat das im Gegensatz gestern gerade eben wie gewünscht funktioniert.
Ich schließe den Thread deshalb wieder.

Antworten