Was ist der beste Weg, um sich bei Remote-Servern anzumelden?

Ich melde mich gerade bei einem Remote-Server an, indem ich das Terminal öffne, ssh-agent starte, einen Schlüssel hinzufüge, xterm starte und mich dann über ssh verbinde.

Welche Tools sollte ich dafür verwenden? Ich habe mir keychain angesehen, aber die Dokumentation erklärt nicht, wie man es für ssh verwendet.

Melden Sie sich bei einem Linux-Server an? Wenn dies der Fall ist, öffnen Sie einfach das Terminal und führen Sie "ssh user@my.server.address -X" aus, um xterm automatisch für Sie zu starten. keine zusätzlichen Schritte erforderlich.
Können Sie einige zusätzliche Informationen bereitstellen, z. B. welche Aufgaben Sie remote auf diesem Server ausführen? Ist dies ein Unternehmensserver, den Sie im Büro (im LAN) und außerhalb des Büros verwalten? Danke!
Meistens starte und stoppe ich Server, ziehe Code aus Git und bearbeite diesen Code für die Entwicklung. Sysadmin und Entwicklung.

Antworten (1)

Es sollte einfach funktionieren. Genauer gesagt: Führen Sie erstens nicht ssh-agentselbst aus, da launchd es bei Bedarf für Sie ausführt. Stellen Sie sicher, dass Ihr privater SSH-Schlüssel mit den entsprechenden Berechtigungen vorhanden ist ~/.ssh/, dh von niemandem außer Ihnen selbst gelesen werden kann:

; ls -l .ssh/id_dsa
-rw-------  1 user  13799  736 Oct 12  2001 .ssh/id_dsa

Jetzt laufen ssh remote-hostname. Es sollte ein Dialogfeld erscheinen, in dem Sie den Schlüssel entsperren können. Der Dialog hat eine Check-Schaltfläche zum Speichern der Passphrase in Ihrem Schlüsselbund. Überprüfen Sie es und klicken Sie auf OK. (Ich denke, Sie müssen dies mit tun /usr/bin/ssh, und nicht mit irgendwelchen ssh, die Sie möglicherweise von macports oder fink haben.) Wenn Sie den Dialog nicht erhalten, muss möglicherweise sshder Name und der Speicherort Ihres privaten Schlüssels mitgeteilt werden . Wenn ja, geben Sie es mit dem -iFlag an, wie in

ssh -i .ssh/id_dsa remote-hostname
Das tut es nicht. Wenn ich versuche, per ssh auf den Server zuzugreifen, kann ich "Berechtigung verweigert (öffentlicher Schlüssel)" ohne Anforderung einer Passphrase.
Nun, das ist seltsam. Ich habe mein aktuelles Setup schon so lange, dass ich vergessen hatte, was ich getan habe, um es einzurichten. Bevor ich meine Antwort gepostet habe, habe ich es tatsächlich mit einem Testbenutzer versucht, und es hat genau so funktioniert, wie ich gesagt habe. Was passiert, wenn Sie ssh -v remote-hostname ausführen? Wenn ich das tue, kann ich aus der Debug-Ausgabe sehen, dass es meine Öffentlichkeit ausprobieren wird, gerade als der Passphrase-Dialog erscheint. Wenn Sie in der Debug-Ausgabe keine Erwähnung öffentlicher Schlüssel sehen, würde ich Ihre ssh- oder sshd-Konfigurationen vorschlagen.
Habe es. Der Trick besteht darin, eine Verbindung herzustellen, ohne den ssh-Agenten einzurichten und die Schlüsseldatei mit der Option -i für ssh anzugeben. Der Passphrase-Dialog erscheint mit der versprochenen Option zum Speichern im Schlüsselbund.
Einer von uns sollte dies als Antwort aufschreiben – wenn Sie es tun, erhalten Sie die positive Bewertung, die Sie verdient haben
@chernevik: Anstatt eine neue Antwort zu schreiben, habe ich diese gerade bearbeitet.