
Ich habe ein Netzwerk aus mehreren Linux-/Unix-Boxen (verschiedene Ubuntu-, Raspian- und OS-X-Boxen), bei denen ich mich regelmäßig anmelde. Normalerweise bin ich auf der OSX-Maschine und habe ein Schlüsselpaar generiert, das mit jeder der Boxen geteilt wurde, und ich kann mich mit dem Schlüsselpaar bei jeder von ihnen anmelden.
Mein Problem besteht darin, das Schlüsselpaar für andere Boxen zu erstellen, wenn ich Dateien direkt zwischen diesen Boxen kopieren muss, da das MBP die meiste Zeit über WLAN verbunden ist und die Verbindung zu langsam ist, um große Dateien zu verschieben.
Um ein einfaches Beispiel zu geben: Mein MBP ist Computer A. Ubuntu Nr. 1 ist Computer B und Ubuntu Nr. 2 ist Computer C.
Mit Schlüsselpaaren:
A kann sich bei B anmelden.
A kann sich bei C anmelden.
Aber B kann sich weder bei C anmelden, noch kann sich C bei B anmelden
Der Fehler, den ich erhalte, ist ein „öffentlicher Schlüssel“-Fehler Berechtigung verweigert (öffentlicher Schlüssel).
Überall, wo ich zu diesem Fehler suche, scheint es so zu sein, dass mehrere Schlüssel zum Anmelden bei verschiedenen Feldern verwendet werden.
Die einzige Möglichkeit, die mir hierfür einfällt, besteht darin, dasselbe Schlüsselpaar zu erstellen und auf jedem Computer denselben öffentlichen und privaten Schlüssel abzulegen. Es scheint jedoch ein Sicherheitsrisiko darzustellen, wenn sich beide Schlüssel am selben Ort befinden.
bearbeiten:
Das hier passiert im Detail (Entschuldigung, ich hätte gründlicher sein sollen)
Von A (MBP) aus melde ich mich bei B (bbox) an, kann mich aber nicht bei C (sun) (von B) anmelden.
Von A aus kann ich mich bei C anmelden, aber nicht bei B (von C aus).
madivad@bbox:~$ ssh sun
Permission denied (publickey).
Ich kann den öffentlichen Schlüssel aus demselben Grund auch nicht pushen:
madivad@bbox:~$ ssh-copy-id sun
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/madivad/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: WARNING: All keys were skipped because they already exist on the remote system.
(if you think this is a mistake, you may want to use -f option)
madivad@bbox:~$ ssh-copy-id -f sun
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/madivad/.ssh/id_rsa.pub"
Permission denied (publickey).
madivad@bbox:~$
Lassen Sie es uns also noch einmal generieren (was ich schon unzählige Male getan habe):
madivad@bbox:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/madivad/.ssh/id_rsa):
/home/madivad/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/madivad/.ssh/id_rsa.
Your public key has been saved in /home/madivad/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:<removed> madivad@bbox
The key's randomart image is:
+---[RSA 2048]----+
| So |
| beautiful it's |
| a shame to |
| remove it |
| (although |
| it's |
| probably not |
| required) |
+----[SHA256]-----+
madivad@bbox:~$ ssh-copy-id sun
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/madivad/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
Permission denied (publickey).
madivad@bbox:~$
Ich scheine mich im Kreis zu drehen
Antwort1
Der Fehler, den ich erhalte, ist ein „Öffentlicher Schlüssel“-Fehler.
Bei der Präzision, mit der Sie Fehler melden, kann ich nur sagen, dass Ihnen beim Generieren oder Bereitstellen der Schlüssel irgendwo ein Fehler unterlaufen ist.
Sie sollten auf jedem Rechner ein Schlüsselpaar generieren, indem Sie den Befehl ausführen
ssh-keygen
Führen Sie dann für jedes Maschinenpaar, bei dem Sie sich mit dem Schlüssel auf X bei Maschine Y anmelden können möchten, den folgenden Befehl auf Maschine X aus:
ssh-copy-id X