it-swarm.com.de

SVN + SSH, Sie müssen nicht jedes Mal ssh-add ausführen? (Mac OS)

Ich weiß, die Antwort ist da draußen, aber ich bin ziemlich Unix-dumm und würde die Lösung wahrscheinlich nicht erkennen, wenn sie mir ins Gesicht trifft.

Ich bin auf einem Mac und verbinde mich per SSH-Tunneling mit einem SVN-Server. Ich muss ssh-add privateKey.txt jedes Mal, wenn ich mich mit dem SVN-Server verbinden möchte (beide Cornerstone und Xcode verbinden sich mit dem SVN). 

Gibt es eine Möglichkeit, den Schlüssel irgendwo zu "speichern", sodass ich dies nicht jedes Mal tun muss? Fügen Sie es meinem Schlüsselbund hinzu? Einige Konfigurationsdatei? Skript starten 

102
James J

Verschieben Sie zuerst Ihre private Schlüsseldatei in ~/.ssh. Dies ist nicht unbedingt notwendig, aber es ist der Standard für solche Dinge.

Führen Sie dann ssh-add -K ~/.ssh/privateKey.txt aus. Falls erforderlich, werden Sie zur Eingabe Ihrer Passphrase aufgefordert, und fügen Sie diese Ihrem Schlüsselbund hinzu.

Danach sollten Sie nichts weiter tun müssen. Eine etwas längere Erklärung gibt es hier .

172
Nicholas Riley

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:

ssh-add -K

Und um die Passphrase für einen anderen Schlüssellauf zu speichern:

ssh-add -K /path/to/private/key/file

Wenn Sie nach Ihrer Passphrase gefragt werden, geben Sie sie ein und das ist es.

Sie müssen nie ssh-add ausführen oder Ihre Passphrase erneut eingeben.

Antwort von dieser Site: http://www-uxsup.csx.cam.ac.uk/~aia21/osx/leopard-ssh.html

49
Adam

Nach langen Recherchen habe ich die Antwort auf dieses Problem gefunden. Stellen Sie zunächst sicher, dass Sie ssh-add -K ~/.ssh/your_key_here ausführen. Dadurch wird der Schlüssel Ihrem Schlüsselbund hinzugefügt. 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-Variante tun müssen, steht Ihnen diese Option nicht unbedingt zur Verfügung.

Für ein gutes Maß habe ich die ~/.ssh/config-Datei bearbeitet (Sie müssen sie möglicherweise erstellen), um auf alle Schlüssel zu verweisen, die ich habe. Meiner hat folgendes:

IdentityFile ~/.ssh/identity
IdentityFile ~/.ssh/id_rsa
IdentityFile ~/.ssh/id_dsa 
IdentityFile ~/.ssh/my_other_identity_here
IdentityFile ~/.ssh/yet_another_identity_here

Gemäß der man-Seite für ssh_config werden diese in der richtigen Reihenfolge versucht. Ich bin nicht sicher, ob die ersten drei Standardeinstellungen, die ich aufgeführt habe, vorhanden sein müssen, aber ich habe sie trotzdem hinzugefügt.

19
mitalia

Seit macOS 10.12.2 können Sie die Option UseKeychain verwenden. Lesen Sie hier mehr oder schauen Sie in man ssh_config.

     UseKeychain
         On macOS, specifies whether the system should search for passphrases in the user's keychain
         when attempting to use a particular key. When the passphrase is provided by the user, this
         option also specifies whether the passphrase should be stored into the keychain once it has
         been verified to be correct.  The argument must be ``yes'' or ``no''.  The default is ``no''.

Also mach einfach folgendes:

echo "UseKeychain yes" >> ~/.ssh/config

5
Ben

Ich habe nicht viel Erfahrung mit Macs, bin mir also nicht sicher, ob diese Version für dich in Ordnung ist, aber schau mal unter http://www.phil.uu.nl/~xges/ssh/

Wenn diese spezielle App nicht funktioniert, ist es sowieso das, wonach du suchst - ssh agent. Auf Unix-ähnlichen Boxen möchten Sie Ihren gesamten Fenstermanager damit starten, um den globalen Effekt zu erzielen, aber dies ist in osx möglicherweise nicht möglich.

Weitere Informationen: http://www-uxsup.csx.cam.ac.uk/~aia21/osx/leopard-ssh.html

2
viraptor

sshkeychain ist eine Möglichkeit. installiert sich gut mit macports mit:

Sudo port install sshkeychain

es verwendet den Schlüsselbund zum Speichern von Passwörtern. Sie können es einfach beim Start Ihrer Anmeldesitzung starten (indem Sie beim ersten Start den üblichen Rechtsklick in das Dock-Symbol + "Start beim Start" verwenden).

Beachten Sie, dass svn von Apple den Schlüsselbund zum Speichern von Kennwörtern verwendet, jedoch nicht unbedingt die svn-Binärdatei, die Sie mit macports erstellen würden.

1
meduz

Fügen Sie Ihren Schlüssel zum Schlüsselbund hinzu, indem Sie Folgendes ausführen:

ssh-add -K ~/.ssh/id_rsa

und bearbeiten Sie Ihre ssh-Konfigurationsdatei (~/.ssh/config), um automatisch Schlüssel aus der Schlüsselkette in den ssh-agent (Option AddKeysToAgent yes) zu laden und Passwörter im Schlüsselbund zu speichern (Option UseKeychain yes):

Host *
 AddKeysToAgent yes
 UseKeychain yes
0
jkukul