Wie zeige ich auf einen SSH-Ordner mit privaten Schlüsseln, um automatisch einen auszuwählen?

8

Ich würde gerne nutzen können

ssh user@host

ohne die -i identity_rsa_or_else_private_key_file. Gibt es irgendwo in sshKonfigurationen einen Ort, an dem ich zeigen kann, wo sich die privaten Schlüssel befinden, damit der sshautomatisch einen für die Verbindung auswählt (damit ich nicht tippen muss -i key_file)?

Patryk
quelle

Antworten:

12

Ich schlage vor, die ssh_configManpage zu lesen . Wenn Sie eine bestimmte Identität pro Host und eine andere für alle anderen Hosts haben möchten, gehen Sie in Ihrer ~ / .ssh / config wie folgt vor:

Host hostname.example.com
    IdentityFile ~/.ssh/identity_rsa_or_else_private_key_file

Host *
    IdentityFile ~/.ssh/another_identity_file

Standardmäßig wird es ~/.ssh/id_rsafür die IdentityFile für RSA-Identitäten und ~/.ssh/id_dsafür DSA-Identitäten verwendet. Wenn Sie also Ihre ~ / .ssh / config nicht ändern möchten, können Sie die Datei einfach in diesen Namen umbenennen.

jsbillings
quelle
3
Bitte beachten Sie, dass IdentityFilenur fügt Schlüssel zu dem, was Ihr Schlüssel Agent bereits Angebote an die SSH - Clients. Wenn für Ihren Schlüsselagenten bereits N Schlüssel verfügbar sind, wird versucht, sich mit N + 1 Schlüsseln zu authentifizieren, wobei der Schlüssel der letzte ist. Einige SSH-Server haben Sie bis dahin bereits blockiert. Überprüfen Sie dies mit ssh -vvvund Sie möchten möglicherweise Ihren SSH-Schlüsselagenten durch Aktivieren deaktivieren IdentitiesOnly.
Gertvdijk