Ssh-Schlüssel zu neuem Benutzer für denselben Hostzugriff migrieren?

438
Tim S.

Ich habe einige Posts über die Migration von SSH-Schlüsseln auf einen neuen Host gefunden, aber nicht viel über die Migration von einem Benutzer zu einem anderen Host auf demselben Host gefunden ...

Wir migrieren eine NAS-Freigabe auf eine neue Plattform und führen dabei neue generische Anwendungs-IDs ein. Ich wurde gebeten, die SSH-Schlüssel von der vorhandenen generischen ID in die neue zu kopieren. Die ID greift von denselben Hosts auf dieselben Hosts zu, verwendet jedoch die neue ID. Was ist die beste Methode, um die Schlüssel zu kopieren, damit unsere über 100 Anwendungen, die diese ID verwenden können, nicht die gesamte Frage "Hinzufügen dieses Schlüssels (Ja / Nein)" betreffen, die zu einer großen Anzahl von Fehlern führen würde?

0
Ich bin verwirrt von der Frage. Sprechen Sie über die Host-Schlüssel (was bei Verwendung des gleichen Hosts kein Problem sein sollte) oder über die öffentlichen und privaten Schlüsselpaare pro Benutzer? Gordon Davisson vor 5 Jahren 0
Richtig - das öffentliche / private Schlüsselpaar. Lohnt es sich, die privaten Schlüssel der alten Benutzer-IDs (zusammen mit der Datei known_hosts) auf den neuen Benutzer zu verschieben, damit sie dieselbe Verbindung zu denselben Hosts herstellen? Ich denke, das ist der einzige Weg, um dies zu erreichen, ohne einen neuen Satz von Schlüsseln für den neuen Benutzer zu erstellen. Im Grunde suche ich hier nach einer Best Practice, in der Hoffnung, dass keine neuen Schlüssel benötigt werden. (Aber wenn das der Fall ist, dann sei es so.) Tim S. vor 5 Jahren 0
Ok, ich bin immer noch verwirrt. Ändern Sie die Benutzer-IDs auf der Clientseite der SSH-Verbindung oder auf der Serverseite oder auf beiden Seiten? Sind die Anwendungen, über die wir sprechen, auf dem Client (und benötigen Zugriff auf Serverressourcen) oder auf dem Server (und einige Clients führen sie über eine Art automatisierte Remote-Verbindungen aus)? Gordon Davisson vor 5 Jahren 0
Beide - wir haben ein Cluster von Servern, die Code auf diesen Servern selbst ausführen, aber auch eine Verbindung (normalerweise über ssh oder sftp, Port 22) zu anderen Hosts herstellen, um Code remote auszuführen. Tim S. vor 5 Jahren 0

2 Antworten auf die Frage

1
eggo

Kopieren Sie nicht nur die Schlüssel, sondern kopieren Sie auch die ~/.ssh/known_hostsDatei, die Identifikations-Fingerabdrücke für alle Hosts enthält, mit denen der Benutzer verbunden ist. Bei Bedarf können Sie die Datei auch verwenden, /etc/ssh/ssh_known_hostswenn Sie alle Benutzer in einem bestimmten System mit vorab validierten Hostschlüsseln versehen möchten.

-1
YuMS

Ist das was du willst?

https://superuser.com/a/125326/417776

Verwenden Sie die Option -o,

ssh -o "StrictHostKeyChecking no" user@host 
Nein, die Richtlinie schreibt vor, dass wir die Überprüfung nicht deaktivieren können. Ich möchte die SSH-Schlüssel migrieren, so dass die Option -o nicht erforderlich ist. Wenn sich herausstellt, dass das Generieren eines neuen Schlüssels die beste Vorgehensweise ist, sollten Sie dies tun. Wenn es jedoch einen sicheren Weg gibt, die Schlüssel zu retten, die wir haben, würde ich dies lieber tun. Wir verbinden uns mit Hunderten von Hosts mit dieser ID. Tim S. vor 5 Jahren 0
Selbst wenn es akzeptabel wäre, ist es in den meisten Fällen eine schlechte Sicherheit, da MITM-Angriffe möglich sind. eggo vor 5 Jahren 0
Richtig - Ich würde nicht behaupten, dass ich denke, dass dies eine schreckliche Idee ist - deshalb durfte es nicht. :) Tim S. vor 5 Jahren 0