Установка местоположения ssh-ключа по умолчанию - PullRequest
52 голосов
/ 17 сентября 2008

ssh по умолчанию будет искать свои ключи в папке ~ / .ssh. Я хочу заставить его всегда искать в другом месте.

Обходной путь, который я использую, заключается в добавлении ключей из нестандартного расположения к агенту:

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

(в Linux и оболочка MingW32 в Windows)

Ответы [ 2 ]

80 голосов
/ 17 сентября 2008

Если вы хотите указать другое местоположение для вашего файла идентификации, вы можете изменить файл ~ / .ssh / config с помощью следующей записи:

IdentityFile ~/.foo/identity

man ssh_config для поиска других параметров конфигурации.

18 голосов
/ 17 сентября 2008

man ssh дает мне, что эти параметры могут быть полезны.

-i identity_file Выбирает файл, из которого идет идентификация (закрытый ключ) для RSA или Аутентификация DSA считывается. По умолчанию используется ~ / .ssh / identity для версия протокола 1 и ~ / .ssh / id_rsa и ~ / .ssh / id_dsa для Tocol версии 2. Идентификационные файлы также могут быть указаны на Основа хоста в файле конфигурации. Можно иметь несколько параметров -i (и несколько идентификаторов, указанных в config- файлы).

Таким образом, вы можете создать псевдоним в вашей конфигурации bash, например,

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

Я не изучал файл конфигурации ssh, но, как и опция -i, это тоже может быть псевдоним

-F configfile Определяет альтернативный файл конфигурации для каждого пользователя. Если кон файл конфигурации дается в командной строке, для всей системы Файл конфигурации (/ etc / ssh / ssh_config) будет игнорироваться. по умолчанию для файла конфигурации для каждого пользователя используется ~ / .ssh / config.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...