it-swarm.com.de

Hinzufügen eines RSA-Schlüssels ohne Überschreiben

Ich möchte eine Reihe von Schlüsseln für einen Heimserver generieren, auf dem ich SSH ausführen möchte. Deshalb ssh-keygen -t rsa, aber dann erhalte ich eine Meldung: id_rsa already exists. Overwrite (y/n)?

Nun, ich möchte nicht überschreiben, weil ich die Schlüssel, die ich jetzt für SSH habe, auf den Servern meiner Universität verwende, und es wäre mühsam, all diesen Müll jedes Mal neu machen zu müssen, wenn ich wechseln wollte. Gibt es eine einfache Möglichkeit, die Schlüssel anzuhängen?

Ich habe versucht, einem Tutorial zu folgen (das ich nicht finden kann), das etwas über die Verwendung des Befehls cat vorschlägt, aber ich bin ziemlich verloren. Anscheinend ist die Lösung etwas sehr Einfaches, das ich einfach nicht sehe.

12
itsmichaelwang

Wenn ich mich richtig erinnere, habe ich dieses Problem behoben, indem ich Cygwin deinstalliert und stattdessen die Befehlszeile verwendet habe.

1
itsmichaelwang

Sie können auf beiden Servern denselben öffentlichen Schlüssel verwenden. Wenn Sie dies nicht möchten, geben Sie einfach einen anderen Speicherort als ~/.ssh/id_rsa an, wenn ssh-keygen Sie zuvor dazu auffordert, und verwenden Sie ihn mit einem Agenten:

% ssh-agent sh  # Replace with your favourite Shell.
$ ssh-add ~/.ssh/id_rsa_2
$ ssh somewhere
$ exit
%

ssh-agent kann auch verwendet werden, ohne eine neue Shell als eval $(ssh-agent) zu starten.

8
Ry-

Sie können dies erreichen, indem Sie eine Konfigurationsdatei in Ihrem Home-Verzeichnis unter dem Verzeichnis .ssh verwenden:

  1. Generieren Sie Ihren Schlüssel wie gewohnt:

    ssh-keygen -t rsa
    
  2. Überschreiben Sie nicht die Standardeinstellung (normalerweise id_rsa). Erstellen Sie stattdessen einen neuen Namen. Dadurch wird eine separate Datei mit Ihrem Schlüssel erstellt.

  3. Erstellen Sie in ~/.ssh eine config-Datei mit folgendem Inhalt:

    Host * (asterisk for all hosts or add specific Host)
      AddKeysToAgent yes
      UseKeychain yes
      IdentityFile <key> (e.g. ~/.ssh/yourKey)
    
  4. Der Schlüssel wird nun zum Schlüsselbund hinzugefügt und kann verwendet werden!

-

Sie können mehrere IdentityFiles in Ihrer Konfiguration verwenden (Mac-Beispiel):

Host *
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_rsa_private_server
  IdentityFile ~/.ssh/id_rsa_github
  IdentityFile ~/.ssh/id_rsa_work_server
7
GreensterRox

Ich hatte das gleiche Problem wie Sie und ich habe es gelöst.

Im Terminal befindet sich:

"Geben Sie die Datei ein, in der der Schlüssel gespeichert werden soll (/home/you/.ssh/id_rsa):"

Anstatt zu schlagen Enter oder schreiben Sie /home/you/.ssh/id_rsa, schreiben Sie /home/you/.ssh/id_rsa1.

0
maihuynhtruc

Sie könnten als minitech vorschlagen und auf beiden Servern denselben öffentlichen SSH-Schlüssel verwenden. Öffnen Sie dazu die Datei ~/.ssh/id_rsa.pub in Ihrem Texteditor, kopieren Sie den Inhalt der Datei exakt, ohne neue Leerzeichen oder Zeilenumbrüche hinzuzufügen, und fügen Sie diesen dem Server hinzu, zu dem Sie eine Verbindung herstellen möchten. Wenn Ihr Benutzername auf dem Server "user" bei der IP-Adresse 123.45.56.78 ist, verwenden Sie den Befehl "ssh-copy-id [email protected]", oder Sie können Folgendes verwenden:

cat ~/.ssh/id_rsa.pub | ssh [email protected] "mkdir -p ~/.ssh && cat >>  ~/.ssh/authorized_keys"
0
user3291025