Лучший способ использовать несколько закрытых ключей SSH на одном клиенте - PullRequest
776 голосов
/ 10 марта 2010

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

По-видимому, простой способ сделать это - использовать команду

ssh -i <key location> login@server.example.com 

Это довольно громоздко.

Любые предложения о том, как сделать это немного проще?

Ответы [ 14 ]

1 голос
/ 27 июля 2017

ВАЖНО: Вы должны запустить ssh-agent

Вы должны запустить ssh-agent (если он еще не запущен) перед использованием ssh-add следующим образом:

eval `ssh-agent -s` # start the agent

ssh-add id_rsa_2 # where id_rsa_2 is your new private key file

Обратите внимание, что команда eval запускает агент на GIT bash в Windows. Другие среды могут использовать вариант для запуска агента SSH.

1 голос
/ 18 января 2016

Вы можете создать файл конфигурации с именем config в папке ~/.ssh. Может содержать:

Host aws
    HostName *yourip*
    User *youruser*
    IdentityFile *idFile*

Это позволит вам подключаться к таким машинам

 ssh aws
0 голосов
/ 28 марта 2019

Как упомянуто на странице блога atlassian создать config в .ssh , включая следующий текст:

#user1 account
 Host bitbucket.org-user1
     HostName bitbucket.org
     User git
     IdentityFile ~/.ssh/user1
     IdentitiesOnly yes

 #user2 account
 Host bitbucket.org-user2
     HostName bitbucket.org
     User git
     IdentityFile ~/.ssh/user2
     IdentitiesOnly yes

Затем вы можете просто оформить заказ с суффиксным доменом, а внутри проектов вы можете настроить имена авторов и т. Д. Локально.

0 голосов
/ 17 марта 2017

На Centos 6.5 с OpenSSH_5.3p1, OpenSSL 1.0.1e-fips я решил проблему, переименовав свои ключевые файлы, чтобы ни у одного из них не было имени по умолчанию. В моем каталоге .ssh содержатся id_rsa_foo и id_rsa_bar, но нет id_rsa и т. Д.

...