it-swarm.com.de

So vermeiden Sie, dass Sie jedes Mal ssh-add eingeben

Ich habe einige Online-Dokumentationen zum Einrichten eines ssh-Agenten gelesen und befolgt, damit ich das Kennwort nicht jedes Mal eingeben muss, wenn ich zu ssh gehe eine entfernte Maschine.

Mit Hilfe von ssh-agent muss ich jedoch jedes Mal ssh-add ausführen, wenn ich die Shell neu starte. Der ssh-add fordert mich dann auf, die Passphrase einzugeben, um den privaten Schlüssel zu entsperren.

Enter passphrase for key '/home/xx/.ssh/id_rsa':

Anstatt mein Kennwort für den Remotecomputer einzugeben, werde ich aufgefordert, das Kennwort für den privaten Schlüssel einzugeben. Es ist, als würde man aus dem Fegefeuer treten und mich danach in einer Hölle wiederfinden. Es sieht so aus, als ob id_rsa nur vorübergehend zum ssh-agent in einer Sitzung hinzugefügt wird, da ich mich jedes Mal anmelde und ssh-add -l eingebe. Ich bekomme:

The agent has no identities.

Darf ich fragen, wie dauerhaft der Schlüssel (id_rsa) in ssh-agent gespeichert wird? Danke

EDIT: das habe ich mit ssh-agent gemacht. Ich habe den folgenden Block an ~/.bash_profile angehängt

SSHAGENT=/usr/bin/ssh-agent                                                                                        
SSHAGENTARGS="-s"
if [ -z "$SSH_AUTH_SOCK" -a -x "SSHAGENT" ]; then
  eval `$SSHAGENT $SSHAGENTARGS`
  trap "kill $SSH_AGENT_PID" 0
fi
10
ssgao

Ich habe den Schlüsselbund installiert.

Sudo apt-get installieren Schlüsselbund

Wenn Sie bash ausführen, müssen Sie Ihrem .bash_profile einige Befehle hinzufügen. Wenn Sie kein .bash_profile haben, erstellen Sie eines in Ihrem Home-Ordner. Fügen Sie diese Zeilen hinzu:

### START-Keychain ###
# Let  re-use ssh-agent and/or gpg-agent between logins
/usr/bin/keychain $HOME/.ssh/id_dsa
source $HOME/.keychain/$HOSTNAME-sh
### End-Keychain ###

Zu Beginn eines Arbeitstages melde ich mich an. Wenn ich ein Terminal öffne, werde ich einmal zur Eingabe meiner Passphrase aufgefordert. Bei allen anderen neuen Endgeräten und Verbindungen werde ich nicht mehr nach meinem Passwort gefragt.

6
walpha

Was Sie suchen, ist weniger sicher, kann jedoch mithilfe der Authentifizierung mit öffentlichem Schlüssel ohne den Einsatz von ssh-agent ausgeführt werden. Eine sicherere Option besteht darin, die Authentifizierung mit öffentlichem Schlüssel mit einer Passphrase zu verwenden, während die Kennwortauthentifizierung auf dem SSH-Server deaktiviert ist. Sie haben jedoch nicht danach gefragt. Anweisungen dazu finden Sie unter dem Link am Ende dieser Antwort.

Um ssh zu verwenden, ohne nach einer Passphrase gefragt zu werden, müssen Sie Ihr Schlüsselpaar generieren, während Sie das Feld für die Passphrase leer lassen.

Um zu überprüfen, ob Sie bereits ein Schlüsselpaar generiert haben, suchen Sie in Ihrem ~/.ssh-Verzeichnis nach den Dateien id_rsa und id_rsa.pub. Wenn sie bereits vorhanden sind, können Sie sie löschen oder verschieben, um ein neues Schlüsselpaar zu erstellen.

Hinweis: Wenn Sie sie löschen, verlieren Sie den Zugriff auf alle von Ihnen verwendeten SSH-Server und die alten Schlüssel, mit denen Sie sich authentifizieren können, wenn die Kennwortauthentifizierung auf dem Server deaktiviert ist.

Führen Sie den folgenden Befehl aus, um ein neues Schlüsselpaar zu erstellen:

ssh-keygen -t rsa

Akzeptieren Sie den Standardspeicherort für die Schlüssel und lassen Sie die Passphrase leer.

Verwenden Sie den folgenden Befehl, um Ihren öffentlichen Schlüssel dem SSH-Server zuzuweisen, zu dem Sie eine Verbindung herstellen möchten:

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

Nachdem Sie diese Schritte ausgeführt haben, können Sie sich auf dem Remoteserver ohne Kennwort von dem von Ihnen verwendeten Computer aus anmelden.

Referenz: http://tombuntu.com/index.php/2008/02/20/public-key-authentication-for-ssh-made-easy/

1
Omegamormegil

Vor einiger Zeit wurde ich plötzlich nach einer Passphrase gefragt, um meinen SSH-Schlüssel zu entsperren, wenn ich git Push mache. Es stellte sich heraus, dass es ausreichte, um nicht mehr nach einer Passphrase gefragt zu werden, SSH Key Agent (GNOME-Schlüsselring: SSH-Agent) zu Startup Applications hinzuzufügen (in meinem Fall - nur um das Kontrollkästchen zu aktivieren):

enter image description here

0
Alexey