Установка местоположения ssh-ключа по умолчанию
-
01-07-2019 - |
Вопрос
ssh по умолчанию будет искать свои ключи в папке ~/.ssh.Я хочу заставить его всегда искать в другом месте.
Обходной путь, который я использую, — добавить в агент ключи из нестандартного местоположения:
ssh-agent
ssh-add /path/to/where/keys/really/are/id_rsa
(в Linux и оболочке MingW32 в Windows)
Решение
Если вы хотите указать только другое местоположение файла идентификации, вы можете изменить файл ~/.ssh/config следующей записью:
IdentityFile ~/.foo/identity
man ssh_config
чтобы найти другие параметры конфигурации.
Другие советы
man ssh
дает мне эти варианты, которые могут быть полезны.
-i Identity_file Выбирает файл, из которого читается идентификация (закрытый ключ) для аутентификации RSA или DSA.По умолчанию- ~/.ssh/идентификация для протокола версии 1 и ~/.ssh/id_rsa и ~/.ssh/id_dsa для Protocol версии 2.Идентификационные файлы также могут быть указаны на основе первого хоста в файле конфигурации.Можно иметь несколько параметров -i (и несколько идентификаторов, указанных в файлах конфигурации).
Итак, вы можете создать псевдоним в своей конфигурации bash, например
псевдоним ssh="ssh -i /путь/к/частному_ключу"
Я не заглядывал в файл конфигурации ssh, но, как и -i
вариант, это тоже может быть псевдонимом
-F configfile Определяет альтернативный файл конфигурации для каждого пользователя.Если в командной строке приведен файл конфигурации, общегосударственный файл конфигурации (/etc/ssh/ssh_config) будет игнорироваться.По умолчанию файла конфигурации для каждого пользователя составляет ~/.SSH/config.