Wie zwinge ich ssh, einen bestimmten privaten Schlüssel zu verwenden?

39

Mit können ssh -i <private key filename>Sie ssh anweisen, einen zusätzlichen privaten Schlüssel zu verwenden, um die Authentifizierung zu versuchen.

In der Dokumentation ist nicht klar, wie nur dieser Schlüssel explizit verwendet wird.

Herman van Rink
quelle

Antworten:

56

Sie können die IdentitiesOnly-Option verwenden:

ssh -o "IdentitiesOnly=yes" -i <private key filename> <hostname>

Herman van Rink
quelle
12
Tatsächlich deaktiviert 'IdentitiesOnly' die Aufforderung von ssh-agent, bietet jedoch weiterhin Standardeinstellungen und ssh_config'd-Schlüssel.
Rogerovo
2
Das Wichtige für mich war, dass es zB in meinem ~ / .ssh-Verzeichnis nicht nach Schlüsseln sucht, die man ausprobieren kann.
Herman van Rink
Vielen Dank! Ich brauchte das -o "IdentitiesOnly=yes"Bit, um zu verhindern, dass ssh-agentder angegebene private Schlüssel überschrieben wird.
user2708667
Dies ist sehr praktisch, um festzustellen, welcher Schlüssel mit einem bestimmten Host zusammenarbeitet, wenn Sie Schlüssel in ssh-agent zwischengespeichert haben. Der einzige Weg, wie ich es ohne diese Flagge herausfinden konnte, war die Verwendung von strace, um die E / A zu entleeren, was ziemlich mühsam war.
Wil