2009-04-10 5 views
8

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

Очевидный вопрос: почему. Ответ заключается в том, что этот ключ более чувствителен и должен быть защищен паролем, а другой - для автоматизации.

Хотя это не проблема программирования, я бы не удивился, узнав, что это требует программирования.

+0

Единственная причина, по которой я буду утверждать, что это связано с программированием, заключается в том, что многие инструменты SCM используют ssh как часть своего метода действий для работы, а инструменты SCM, безусловно, связаны с программированием. –

ответ

6

В вашем .ssh/config, установить что-то вроде:

Host somehost 
    IdentityFile /path/to/extra_secret_key 

У меня есть один узел, который имеет IdentityFile набор для ~/.ssh/iddsa_aux, но параметр должен принимать любой путь имя.

+0

Отлично. Именно то, что я искал и не мог найти. Вы не поверите, как близко я пришел к созданию второй копии ssh и ее модификации с помощью hexeditor. – Joshua

2

На странице SSH человек:

-i identity_file 
     Selects a file from which the identity (private key) for RSA or 
     DSA authentication is read. The default is ~/.ssh/identity for 
     protocol version 1, and ~/.ssh/id_rsa and ~/.ssh/id_dsa for pro- 
     tocol version 2. Identity files may also be specified on a per- 
     host basis in the configuration file. It is possible to have 
     multiple -i options (and multiple identities specified in config- 
     uration files). 
+0

Штукатурка. Я прочитал справочную страницу и пропустил ее. – Joshua

12

Theres удобный трюк, который вы можете использовать, чтобы сделать его очень легким, как ни странно, я только что обсуждал это 30 минут назад с другом.

~/.ssh/конфигурации

 
IdentityFile ~/.ssh/ident/%[email protected]%h 
IdentityFile ~/.ssh/id_rsa 
IdentityFile ~/.ssh/id_dsa 

Это делает его очень легко использовать шаблон резервного, так как параметры пробегают сверху вниз.

Затем указать конкретный ключ для «Bob @ someHost» вы просто должны создать файл

 
~/.ssh/ident/[email protected] 

И он будет пытаться что первым при входе в этот хост.

Если файл не может быть найден, или ключ отвергается, он будет пытаться следующий, в этом случае,

 
~/.ssh/id_rsa 

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

 Смежные вопросы

  • Нет связанных вопросов^_^