Ich weiß, dass die Antwort da draußen ist, aber ich bin ziemlich dumm unter Unix und würde die Lösung wahrscheinlich nicht erkennen, wenn sie mir ins Gesicht schlagen würde.
Ich bin auf einem Mac und verbinde mich über SSH-Tunneling mit einem SVN-Server. Ich mussssh-add privateKey.txt
jedes Mal eine Verbindung zum SVN-Server herstellen (sowohl Cornerstone als auch Xcode stellen eine Verbindung zum SVN her).
Gibt es eine Möglichkeit, den Schlüssel irgendwo zu "speichern", damit ich dies nicht jedes Mal tun muss? Zu meinem Schlüsselbund hinzufügen? Eine Konfigurationsdatei? Skript starten?
ssh-add
kann ich kein-K
Argument annehmen .Passphrasen im Schlüsselbund speichern
Um die Passphrase für Ihren Standardschlüssel im Schlüsselbund zu speichern, öffnen Sie ein Terminal und führen Sie Folgendes aus:
Und um die Passphrase für einen anderen Schlüssellauf zu speichern:
Wenn Sie zur Eingabe Ihrer Passphrase aufgefordert werden, geben Sie diese ein und das wars.
Sie müssen nie wieder ssh-add ausführen oder Ihre Passphrase eingeben.
Antwort von dieser Site: http://www-uxsup.csx.cam.ac.uk/~aia21/osx/leopard-ssh.html
quelle
Nach langem Erkunden habe ich die Antwort auf dieses Problem vollständig gefunden. Stellen Sie zunächst sicher, dass Sie dies tun
ssh-add -K ~/.ssh/your_key_here
. Dies fügt den Schlüssel zu Ihrem Schlüsselbund hinzu. An einigen Stellen habe ich gelesen, dass dies ausreicht, aber ich war mir nicht sicher. Dies ist auch mac-spezifisch. Wenn Sie dies für eine andere Unix-Version tun müssen, steht Ihnen diese Option nicht unbedingt zur Verfügung.Aus gutem Grund habe ich die
~/.ssh/config
Datei so bearbeitet (möglicherweise müssen Sie sie erstellen), dass sie auf alle Schlüssel verweist, die ich habe. Meins hat folgendes:Laut der Manpage für ssh_config wird es diese in der richtigen Reihenfolge versuchen. Ich bin mir nicht sicher, ob die ersten drei von mir aufgelisteten Standardeinstellungen vorhanden sein müssen, aber ich habe sie trotzdem aufgenommen.
quelle
-K
Flagge auf Macssh-add
-K
Flag fürssh-add
. Zusätzlich sollte dies die ausgewählte Antwort sein./usr/bin/ssh-add
das mitgelieferte Homebrew/usr/local/bin/ssh-add
verwenden, das die Option -K nicht bietet.~/.ssh/config
ist, muss derssh-add
Befehl nicht jedes Mal nach dem Neustart des Computers ausgeführt werden.Seit macOS 10.12.2 können Sie die
UseKeychain
Option verwenden. Lesen Sie hier mehr oder schauen Sie hineinman ssh_config
.Gehen Sie also einfach wie folgt vor:
echo "UseKeychain yes" >> ~/.ssh/config
quelle
Ich habe nicht viel Erfahrung mit Macs, bin mir also nicht sicher, ob diese Version für Sie in Ordnung ist, aber schauen Sie unter http://www.phil.uu.nl/~xges/ssh/ nach.
Wenn diese spezielle App nicht funktioniert, suchen Sie sowieso danach -
ssh agent
. Bei Unix-ähnlichen Boxen möchten Sie Ihren gesamten Fenstermanager damit starten, um den globalen Effekt zu erzielen. In osx ist dies jedoch möglicherweise nicht möglich.Weitere Informationen: http://www-uxsup.csx.cam.ac.uk/~aia21/osx/leopard-ssh.html
quelle
sshkeychain ist eine Möglichkeit. Installiert gut mit Macports mit:
Der Schlüsselbund wird zum Speichern von Kennwörtern verwendet. Sie können ihn einfach beim Start Ihrer Anmeldesitzung starten (indem Sie beim ersten Start den üblichen Rechtsklick auf das Dock-Symbol + "Beim Start starten" verwenden).
Beachten Sie, dass Apples SVN Schlüsselbund zum Speichern von Passwörtern verwendet, jedoch nicht unbedingt die SVN-Binärdatei, die Sie mit Macports erstellen würden.
quelle
Fügen Sie Ihren Schlüssel zum Schlüsselbund hinzu, indem Sie Folgendes ausführen:
und bearbeiten Sie Ihre ssh config (
~/.ssh/config
) - Datei, um automatisch Schlüssel aus der Schlüsselkette in den ssh-Agenten zu laden (AddKeysToAgent yes
Option) und Passphrasen im Schlüsselbund zu speichern (UseKeychain yes
Option):quelle