it-swarm-eu.dev

Festlegen des standardmäßigen SSH-Speicherorts

ssh sucht standardmäßig im Ordner ~/.ssh nach seinen Schlüsseln. Ich möchte es zwingen, immer an einem anderen Ort zu suchen.

Die Problemumgehung, die ich verwende, besteht darin, die Schlüssel vom nicht standardmäßigen Speicherort zum Agenten hinzuzufügen:

ssh-agent
ssh-add /path/to/where/keys/really/are/id_rsa 

(unter Linux und MingW32 Shell unter Windows)

53
tardate

Wenn Sie nur auf einen anderen Speicherort für Ihre Identitätsdatei verweisen möchten, können Sie Ihre ~/.ssh/config-Datei mit folgendem Eintrag ändern:

IdentityFile ~/.foo/identity

man ssh_config, um andere Konfigurationsoptionen zu finden.

80
Drew Frezell

man ssh gibt mir diese optionen könnten nützlich sein.

-i identitätsdatei Wählt eine Datei aus, aus der die Identität (privater Schlüssel) für die RSA- oder DSA-Authentifizierung gelesen wird. Die Standardeinstellung ist ~/.ssh/identity für Protokollversion 1 und ~/.ssh/id_rsa und ~/.ssh/id_dsa für Protokollversion 2. Identitätsdateien können in der Konfiguration auch auf Hostbasis angegeben werden Datei. Es ist möglich, mehrere -i-Optionen (und mehrere Identitäten, die in Konfigurationsdateien angegeben sind) zu haben.

Sie könnten also mit so etwas wie einen Alias ​​in Ihrer Bash-Konfiguration erstellen

alias ssh = "ssh -i/path/to/private_key"

Ich habe nicht in eine SSH-Konfigurationsdatei geschaut, aber wie die -i Option auch dies könnte ein Alias ​​sein

-F Konfigurationsdatei Gibt eine alternative Konfigurationsdatei pro Benutzer an. Wenn in der Befehlszeile eine Konfigurationsdatei angegeben ist, wird die systemweite Konfigurationsdatei (/ etc/ssh/ssh_config) ignoriert. Die Standardeinstellung für die benutzerspezifische Konfigurationsdatei lautet ~/.ssh/config.

19
roo