Я сталкивался с этой проблемой пару раз при создании серверов сборки с проверкой ключа.
Мне было интересно, есть ли у кого-то еще опыт. У меня есть несколько ключей для моего текущего пользователя, которые могут подключаться к разным машинам. Пусть говорят machine1 и machine2. Я вставил свой открытый ключ в свой файл authorized_keys. Первый, который я назвал первым ключом id_rsa и вторым ключом.
Когда я пытаюсь подключиться к bender, я получаю следующий вывод с моим подробным подключением ssh
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/bozo/.ssh/.ssh/identity
debug1: Trying private key: /home/bozo/.ssh/.ssh/id_rsa
debug1: Trying private key: /home/bozo/.ssh/id_dsa
debug1: No more authentication methods to try.
Permission denied (publickey).
Он предлагает только ключ id_rsa, как вы можете видеть выше. Это верно? Если да, то почему? Как мне получить больше ключей? Я знаю, что это проблема, которую я вижу с перерывами, потому что у меня дома у меня много ключей без особых проблем.
Я также хотел бы получить обзор того, как паб и частные ключи взаимодействуют с клиентом и сервером. Я думал, что у меня довольно приличная идея, но, видимо, я чего-то не хватает.
Пожалуйста, спасибо.
По умолчанию ssh ищет файлы id_dsa и id_rsa. Ключи не обязательно должны быть названы так, вы также можете назвать его mykey или даже поместить в другой каталог. Однако, если вы выполните одно из этих действий, вам нужно явно ссылаться на ключ в команде ssh следующим образом:
ssh user@server -i /path/to/mykey
Если команда не принимает -i, например. sshfs, используйте параметр IdentityFile:
sshfs -o IdentityFile=/path/to/mykey user@host:/path/on/remote /mountpoint
При генерации ключа вы получите два файла: id_rsa (закрытый ключ) и id_rsa.pub (открытый ключ). Как показывают их имена, секретный ключ должен храниться в секрете, а публичный ключ может публиковаться публично.
Аутентификация с открытым ключом работает с открытым и закрытым ключом. У клиента и сервера есть свои ключи. При установке openssh-server открытые и закрытые ключи сервера генерируются автоматически. Для клиента вам придется сделать это самостоятельно.
Когда вы (клиент) подключаетесь к серверу, обмениваются открытыми ключами. Вы получите серверы один, а сервер ваш. При первом получении открытого ключа сервера вас попросят принять его. Если этот открытый ключ изменится с течением времени, вы будете предупреждены, потому что происходит возможная атака MITM (Человек в середине), перехватывая трафик между клиентом и сервером.
Сервер проверяет, вам разрешено подключаться (определено в /etc/ssh/sshd_config), и если ваш открытый ключ указан в файле ~/.ssh/authorized_keys. Возможные причины отказа публичного ключа:
/etc/ssh/sshd_config: указывается AllowUsers или AllowGroups, но ваш пользователь не указан в списке групп или пользователей (по умолчанию не определен, ограничение доступа к пользователям или группам). DenyUsers или DenyGroups, и вы находитесь в списке пользователей или групп. Вы пытаетесь войти в систему как root, но PermitRootLogin установлено в No (по умолчанию yes). PubkeyAuthentication установлен на No (по умолчанию yes). AuthorizedKeysFile устанавливается в другое место, а открытые ключи не добавляются в этот файл (по умолчанию .ssh/authorized_keys, по отношению к домашнему директорию) ~/.ssh/authorized_keys: ваш открытый ключ не добавляется в этот файл (обратите внимание, что этот файл читайте как пользователь root)Нередко используется несколько клавиш. Вместо ssh user@host -i /path/to/identity_file вы можете использовать файл конфигурации ~/.ssh/config.
Общие настройки - это IdentityFile (ключи) и порт. Следующая конфигурация будет проверять «id_dsa» и «bender» только при соединении с ssh youruser@yourhost:
Host yourhost
IdentityFile ~/.ssh/id_dsa
IdentityFile ~/.ssh/bender
Если вы опустите Host yourhost, настройки будут применяться ко всем соединениям SSH. Другие параметры также могут быть указаны для этого совпадения с хостом, например User youruser, Port 2222 и т. Д. Это позволит вам соединить стенографию ssh yourhost вместо ssh -p2222 youruser@yourhost -i ~/.ssh/id_dsa -i ~/.ssh/bender.
По умолчанию ssh ищет файлы id_dsa и id_rsa. Ключи не обязательно должны быть названы так, вы также можете назвать его mykey или даже поместить в другой каталог. Однако, если вы выполните одно из этих действий, вам нужно явно ссылаться на ключ в команде ssh следующим образом:
ssh user@server -i /path/to/mykey
Если команда не принимает -i, например. sshfs, используйте параметр IdentityFile:
sshfs -o IdentityFile=/path/to/mykey user@host:/path/on/remote /mountpoint
При генерации ключа вы получите два файла: id_rsa (закрытый ключ) и id_rsa.pub (открытый ключ). Как показывают их имена, секретный ключ должен храниться в секрете, а публичный ключ может публиковаться публично.
Аутентификация с открытым ключом работает с открытым и закрытым ключом. У клиента и сервера есть свои ключи. При установке openssh-server открытые и закрытые ключи сервера генерируются автоматически. Для клиента вам придется сделать это самостоятельно.
Когда вы (клиент) подключаетесь к серверу, обмениваются открытыми ключами. Вы получите серверы один, а сервер ваш. При первом получении открытого ключа сервера вас попросят принять его. Если этот открытый ключ изменится с течением времени, вы будете предупреждены, потому что происходит возможная атака MITM (Человек в середине), перехватывая трафик между клиентом и сервером.
Сервер проверяет, вам разрешено подключаться (определено в /etc/ssh/sshd_config), и если ваш открытый ключ указан в файле ~/.ssh/authorized_keys. Возможные причины отказа публичного ключа:
/etc/ssh/sshd_config: указывается AllowUsers или AllowGroups, но ваш пользователь не указан в списке групп или пользователей (по умолчанию не определен, ограничение доступа к пользователям или группам). DenyUsers или DenyGroups, и вы находитесь в списке пользователей или групп. Вы пытаетесь войти в систему как root, но PermitRootLogin установлено в No (по умолчанию yes). PubkeyAuthentication установлен на No (по умолчанию yes). AuthorizedKeysFile устанавливается в другое место, а открытые ключи не добавляются в этот файл (по умолчанию .ssh/authorized_keys, по отношению к домашнему директорию) ~/.ssh/authorized_keys: ваш открытый ключ не добавляется в этот файл (обратите внимание, что этот файл читайте как пользователь root)Нередко используется несколько клавиш. Вместо ssh user@host -i /path/to/identity_file вы можете использовать файл конфигурации ~/.ssh/config.
Общие настройки - это IdentityFile (ключи) и порт. Следующая конфигурация будет проверять «id_dsa» и «bender» только при соединении с ssh youruser@yourhost:
Host yourhost
IdentityFile ~/.ssh/id_dsa
IdentityFile ~/.ssh/bender
Если вы опустите Host yourhost, настройки будут применяться ко всем соединениям SSH. Другие параметры также могут быть указаны для этого совпадения с хостом, например User youruser, Port 2222 и т. Д. Это позволит вам соединить стенографию ssh yourhost вместо ssh -p2222 youruser@yourhost -i ~/.ssh/id_dsa -i ~/.ssh/bender.
По умолчанию ssh ищет файлы id_dsa и id_rsa. Ключи не обязательно должны быть названы так, вы также можете назвать его mykey или даже поместить в другой каталог. Однако, если вы выполните одно из этих действий, вам нужно явно ссылаться на ключ в команде ssh следующим образом:
ssh user@server -i /path/to/mykey
Если команда не принимает -i, например. sshfs, используйте параметр IdentityFile:
sshfs -o IdentityFile=/path/to/mykey user@host:/path/on/remote /mountpoint
При генерации ключа вы получите два файла: id_rsa (закрытый ключ) и id_rsa.pub (открытый ключ). Как показывают их имена, секретный ключ должен храниться в секрете, а публичный ключ может публиковаться публично.
Аутентификация с открытым ключом работает с открытым и закрытым ключом. У клиента и сервера есть свои ключи. При установке openssh-server открытые и закрытые ключи сервера генерируются автоматически. Для клиента вам придется сделать это самостоятельно.
Когда вы (клиент) подключаетесь к серверу, обмениваются открытыми ключами. Вы получите серверы один, а сервер ваш. При первом получении открытого ключа сервера вас попросят принять его. Если этот открытый ключ изменится с течением времени, вы будете предупреждены, потому что происходит возможная атака MITM (Человек в середине), перехватывая трафик между клиентом и сервером.
Сервер проверяет, вам разрешено подключаться (определено в /etc/ssh/sshd_config), и если ваш открытый ключ указан в файле ~/.ssh/authorized_keys. Возможные причины отказа публичного ключа:
/etc/ssh/sshd_config: указывается AllowUsers или AllowGroups, но ваш пользователь не указан в списке групп или пользователей (по умолчанию не определен, ограничение доступа к пользователям или группам). DenyUsers или DenyGroups, и вы находитесь в списке пользователей или групп. Вы пытаетесь войти в систему как root, но PermitRootLogin установлено в No (по умолчанию yes). PubkeyAuthentication установлен на No (по умолчанию yes). AuthorizedKeysFile устанавливается в другое место, а открытые ключи не добавляются в этот файл (по умолчанию .ssh/authorized_keys, по отношению к домашнему директорию) ~/.ssh/authorized_keys: ваш открытый ключ не добавляется в этот файл (обратите внимание, что этот файл читайте как пользователь root)Нередко используется несколько клавиш. Вместо ssh user@host -i /path/to/identity_file вы можете использовать файл конфигурации ~/.ssh/config.
Общие настройки - это IdentityFile (ключи) и порт. Следующая конфигурация будет проверять «id_dsa» и «bender» только при соединении с ssh youruser@yourhost:
Host yourhost
IdentityFile ~/.ssh/id_dsa
IdentityFile ~/.ssh/bender
Если вы опустите Host yourhost, настройки будут применяться ко всем соединениям SSH. Другие параметры также могут быть указаны для этого совпадения с хостом, например User youruser, Port 2222 и т. Д. Это позволит вам соединить стенографию ssh yourhost вместо ssh -p2222 youruser@yourhost -i ~/.ssh/id_dsa -i ~/.ssh/bender.
По умолчанию ssh ищет файлы id_dsa и id_rsa. Ключи не обязательно должны быть названы так, вы также можете назвать его mykey или даже поместить в другой каталог. Однако, если вы выполните одно из этих действий, вам нужно явно ссылаться на ключ в команде ssh следующим образом:
ssh user@server -i /path/to/mykey
Если команда не принимает -i, например. sshfs, используйте параметр IdentityFile:
sshfs -o IdentityFile=/path/to/mykey user@host:/path/on/remote /mountpoint
При генерации ключа вы получите два файла: id_rsa (закрытый ключ) и id_rsa.pub (открытый ключ). Как показывают их имена, секретный ключ должен храниться в секрете, а публичный ключ может публиковаться публично.
Аутентификация с открытым ключом работает с открытым и закрытым ключом. У клиента и сервера есть свои ключи. При установке openssh-server открытые и закрытые ключи сервера генерируются автоматически. Для клиента вам придется сделать это самостоятельно.
Когда вы (клиент) подключаетесь к серверу, обмениваются открытыми ключами. Вы получите серверы один, а сервер ваш. При первом получении открытого ключа сервера вас попросят принять его. Если этот открытый ключ изменится с течением времени, вы будете предупреждены, потому что происходит возможная атака MITM (Человек в середине), перехватывая трафик между клиентом и сервером.
Сервер проверяет, вам разрешено подключаться (определено в /etc/ssh/sshd_config), и если ваш открытый ключ указан в файле ~/.ssh/authorized_keys. Возможные причины отказа публичного ключа:
/etc/ssh/sshd_config: указывается AllowUsers или AllowGroups, но ваш пользователь не указан в списке групп или пользователей (по умолчанию не определен, ограничение доступа к пользователям или группам). DenyUsers или DenyGroups, и вы находитесь в списке пользователей или групп. Вы пытаетесь войти в систему как root, но PermitRootLogin установлено в No (по умолчанию yes). PubkeyAuthentication установлен на No (по умолчанию yes). AuthorizedKeysFile устанавливается в другое место, а открытые ключи не добавляются в этот файл (по умолчанию .ssh/authorized_keys, по отношению к домашнему директорию) ~/.ssh/authorized_keys: ваш открытый ключ не добавляется в этот файл (обратите внимание, что этот файл читайте как пользователь root)Нередко используется несколько клавиш. Вместо ssh user@host -i /path/to/identity_file вы можете использовать файл конфигурации ~/.ssh/config.
Общие настройки - это IdentityFile (ключи) и порт. Следующая конфигурация будет проверять «id_dsa» и «bender» только при соединении с ssh youruser@yourhost:
Host yourhost
IdentityFile ~/.ssh/id_dsa
IdentityFile ~/.ssh/bender
Если вы опустите Host yourhost, настройки будут применяться ко всем соединениям SSH. Другие параметры также могут быть указаны для этого совпадения с хостом, например User youruser, Port 2222 и т. Д. Это позволит вам соединить стенографию ssh yourhost вместо ssh -p2222 youruser@yourhost -i ~/.ssh/id_dsa -i ~/.ssh/bender.
По умолчанию ssh ищет файлы id_dsa и id_rsa. Ключи не обязательно должны быть названы так, вы также можете назвать его mykey или даже поместить в другой каталог. Однако, если вы выполните одно из этих действий, вам нужно явно ссылаться на ключ в команде ssh следующим образом:
ssh user@server -i /path/to/mykey
Если команда не принимает -i, например. sshfs, используйте параметр IdentityFile:
sshfs -o IdentityFile=/path/to/mykey user@host:/path/on/remote /mountpoint
При генерации ключа вы получите два файла: id_rsa (закрытый ключ) и id_rsa.pub (открытый ключ). Как показывают их имена, секретный ключ должен храниться в секрете, а публичный ключ может публиковаться публично.
Аутентификация с открытым ключом работает с открытым и закрытым ключом. У клиента и сервера есть свои ключи. При установке openssh-server открытые и закрытые ключи сервера генерируются автоматически. Для клиента вам придется сделать это самостоятельно.
Когда вы (клиент) подключаетесь к серверу, обмениваются открытыми ключами. Вы получите серверы один, а сервер ваш. При первом получении открытого ключа сервера вас попросят принять его. Если этот открытый ключ изменится с течением времени, вы будете предупреждены, потому что происходит возможная атака MITM (Человек в середине), перехватывая трафик между клиентом и сервером.
Сервер проверяет, вам разрешено подключаться (определено в /etc/ssh/sshd_config), и если ваш открытый ключ указан в файле ~/.ssh/authorized_keys. Возможные причины отказа публичного ключа:
/etc/ssh/sshd_config: указывается AllowUsers или AllowGroups, но ваш пользователь не указан в списке групп или пользователей (по умолчанию не определен, ограничение доступа к пользователям или группам). DenyUsers или DenyGroups, и вы находитесь в списке пользователей или групп. Вы пытаетесь войти в систему как root, но PermitRootLogin установлено в No (по умолчанию yes). PubkeyAuthentication установлен на No (по умолчанию yes). AuthorizedKeysFile устанавливается в другое место, а открытые ключи не добавляются в этот файл (по умолчанию .ssh/authorized_keys, по отношению к домашнему директорию) ~/.ssh/authorized_keys: ваш открытый ключ не добавляется в этот файл (обратите внимание, что этот файл читайте как пользователь root)Нередко используется несколько клавиш. Вместо ssh user@host -i /path/to/identity_file вы можете использовать файл конфигурации ~/.ssh/config.
Общие настройки - это IdentityFile (ключи) и порт. Следующая конфигурация будет проверять «id_dsa» и «bender» только при соединении с ssh youruser@yourhost:
Host yourhost
IdentityFile ~/.ssh/id_dsa
IdentityFile ~/.ssh/bender
Если вы опустите Host yourhost, настройки будут применяться ко всем соединениям SSH. Другие параметры также могут быть указаны для этого совпадения с хостом, например User youruser, Port 2222 и т. Д. Это позволит вам соединить стенографию ssh yourhost вместо ssh -p2222 youruser@yourhost -i ~/.ssh/id_dsa -i ~/.ssh/bender.
По умолчанию ssh ищет файлы id_dsa и id_rsa. Ключи не обязательно должны быть названы так, вы также можете назвать его mykey или даже поместить в другой каталог. Однако, если вы выполните одно из этих действий, вам нужно явно ссылаться на ключ в команде ssh следующим образом:
ssh user@server -i /path/to/mykey
Если команда не принимает -i, например. sshfs, используйте параметр IdentityFile:
sshfs -o IdentityFile=/path/to/mykey user@host:/path/on/remote /mountpoint
При генерации ключа вы получите два файла: id_rsa (закрытый ключ) и id_rsa.pub (открытый ключ). Как показывают их имена, секретный ключ должен храниться в секрете, а публичный ключ может публиковаться публично.
Аутентификация с открытым ключом работает с открытым и закрытым ключом. У клиента и сервера есть свои ключи. При установке openssh-server открытые и закрытые ключи сервера генерируются автоматически. Для клиента вам придется сделать это самостоятельно.
Когда вы (клиент) подключаетесь к серверу, обмениваются открытыми ключами. Вы получите серверы один, а сервер ваш. При первом получении открытого ключа сервера вас попросят принять его. Если этот открытый ключ изменится с течением времени, вы будете предупреждены, потому что происходит возможная атака MITM (Человек в середине), перехватывая трафик между клиентом и сервером.
Сервер проверяет, вам разрешено подключаться (определено в /etc/ssh/sshd_config), и если ваш открытый ключ указан в файле ~/.ssh/authorized_keys. Возможные причины отказа публичного ключа:
/etc/ssh/sshd_config: указывается AllowUsers или AllowGroups, но ваш пользователь не указан в списке групп или пользователей (по умолчанию не определен, ограничение доступа к пользователям или группам). DenyUsers или DenyGroups, и вы находитесь в списке пользователей или групп. Вы пытаетесь войти в систему как root, но PermitRootLogin установлено в No (по умолчанию yes). PubkeyAuthentication установлен на No (по умолчанию yes). AuthorizedKeysFile устанавливается в другое место, а открытые ключи не добавляются в этот файл (по умолчанию .ssh/authorized_keys, по отношению к домашнему директорию) ~/.ssh/authorized_keys: ваш открытый ключ не добавляется в этот файл (обратите внимание, что этот файл читайте как пользователь root)Нередко используется несколько клавиш. Вместо ssh user@host -i /path/to/identity_file вы можете использовать файл конфигурации ~/.ssh/config.
Общие настройки - это IdentityFile (ключи) и порт. Следующая конфигурация будет проверять «id_dsa» и «bender» только при соединении с ssh youruser@yourhost:
Host yourhost
IdentityFile ~/.ssh/id_dsa
IdentityFile ~/.ssh/bender
Если вы опустите Host yourhost, настройки будут применяться ко всем соединениям SSH. Другие параметры также могут быть указаны для этого совпадения с хостом, например User youruser, Port 2222 и т. Д. Это позволит вам соединить стенографию ssh yourhost вместо ssh -p2222 youruser@yourhost -i ~/.ssh/id_dsa -i ~/.ssh/bender.
По умолчанию ssh ищет файлы id_dsa
и id_rsa
. Ключи не обязательно должны быть названы так, вы также можете назвать его mykey
или даже поместить его в другой каталог. Однако, если вы сделаете это, вам нужно явно указать ключ в команде ssh следующим образом:
ssh user @ server -i / path / to / mykey
Если команда не принимает -i
, например sshfs
, используйте опцию IdentityFile
:
sshfs -o IdentityFile = / path / to / mykey user @ host: / path / on / remote / mountpoint
При генерации ключа вы получите два файла: id_rsa
(закрытый ключ) и id_rsa.pub
(открытый ключ). Как показывают их имена, секретный ключ должен храниться в секрете, а публичный ключ может публиковаться публично.
Аутентификация с открытым ключом работает с открытым и закрытым ключом. У клиента и сервера есть свои ключи. При установке openssh-server
открытые и закрытые ключи сервера генерируются автоматически. Для клиента вам придется сделать это самостоятельно.
Когда вы (клиент) подключаетесь к серверу, обмениваются открытыми ключами. Вы получите серверы один, а сервер ваш. При первом получении открытого ключа сервера вас попросят принять его. Если этот открытый ключ изменится за какое-то время, вы будете предупреждены, потому что происходит возможная атака MITM (Человек в середине), перехватывая трафик между клиентом и сервером.
Сервер проверяет, вам разрешено подключаться (определено в / etc / ssh / sshd_config
), и если ваш открытый ключ указан в файле ~ / .ssh / authorized_keys
. Возможные причины отказа публичного ключа:
/ etc / ssh / sshd_config
: AllowUsers
или AllowGroups
, но ваш пользователь сервера не указан в списке групп или пользователей (по умолчанию не определен, не запрещается вход в систему пользователям или группам). Определены DenyUsers
или DenyGroups
, и вы находитесь в списке пользователей или групп. Вы пытаетесь войти в систему как root, но PermitRootLogin
установлен на Нет
(по умолчанию да
). У PubkeyAuthentication
установлено значение Нет
(по умолчанию да
). AuthorizedKeysFile
установлен в другое место, и открытые ключи не добавляются в этот файл (по умолчанию .ssh / authorized_keys
, относительно домашнего каталога) ~ / .ssh / authorized_keys
: ваш открытый ключ не добавляется в этот файл (обратите внимание, что этот файл читается как пользователь root) Нередко использовать несколько ключей. Вместо ssh user @ host -i / path / to / identity_file
вы можете использовать файл конфигурации, ~ / .ssh / config
.
Общие настройки - это IdentityFile (ключи) и порт. Следующая конфигурация будет проверять «id_dsa» и «bender» только при подключении к ssh youruser @ yourhost
:
Host yourhost IdentityFile ~ / .ssh / id_dsa IdentityFile ~ / .ssh / bender
Если вы опустите Host yourhost
, настройки будут применяться ко всем соединениям SSH. Другие параметры также могут быть указаны для этого совпадения хостов, например Пользователь youruser
, Порт 2222
и т. Д. Это позволит вам соединить стенографию ssh yourhost
вместо ssh -p2222 youruser @ yourhost -i ~ / .ssh / id_dsa -i ~ / .ssh / bender
.
По умолчанию ssh ищет файлы id_dsa
и id_rsa
. Ключи не обязательно должны быть названы так, вы также можете назвать его mykey
или даже поместить его в другой каталог. Однако, если вы сделаете это, вам нужно явно указать ключ в команде ssh следующим образом:
ssh user @ server -i / path / to / mykey
Если команда не принимает -i
, например sshfs
, используйте опцию IdentityFile
:
sshfs -o IdentityFile = / path / to / mykey user @ host: / path / on / remote / mountpoint
При генерации ключа вы получите два файла: id_rsa
(закрытый ключ) и id_rsa.pub
(открытый ключ). Как показывают их имена, секретный ключ должен храниться в секрете, а публичный ключ может публиковаться публично.
Аутентификация с открытым ключом работает с открытым и закрытым ключом. У клиента и сервера есть свои ключи. При установке openssh-server
открытые и закрытые ключи сервера генерируются автоматически. Для клиента вам придется сделать это самостоятельно.
Когда вы (клиент) подключаетесь к серверу, обмениваются открытыми ключами. Вы получите серверы один, а сервер ваш. При первом получении открытого ключа сервера вас попросят принять его. Если этот открытый ключ изменится за какое-то время, вы будете предупреждены, потому что происходит возможная атака MITM (Человек в середине), перехватывая трафик между клиентом и сервером.
Сервер проверяет, вам разрешено подключаться (определено в / etc / ssh / sshd_config
), и если ваш открытый ключ указан в файле ~ / .ssh / authorized_keys
. Возможные причины отказа публичного ключа:
/ etc / ssh / sshd_config
: AllowUsers
или AllowGroups
, но ваш пользователь сервера не указан в списке групп или пользователей (по умолчанию не определен, не запрещается вход в систему пользователям или группам). Определены DenyUsers
или DenyGroups
, и вы находитесь в списке пользователей или групп. Вы пытаетесь войти в систему как root, но PermitRootLogin
установлен на Нет
(по умолчанию да
). У PubkeyAuthentication
установлено значение Нет
(по умолчанию да
). AuthorizedKeysFile
установлен в другое место, и открытые ключи не добавляются в этот файл (по умолчанию .ssh / authorized_keys
, относительно домашнего каталога) ~ / .ssh / authorized_keys
: ваш открытый ключ не добавляется в этот файл (обратите внимание, что этот файл читается как пользователь root) Нередко использовать несколько ключей. Вместо ssh user @ host -i / path / to / identity_file
вы можете использовать файл конфигурации, ~ / .ssh / config
.
Общие настройки - это IdentityFile (ключи) и порт. Следующая конфигурация будет проверять «id_dsa» и «bender» только при подключении к ssh youruser @ yourhost
:
Host yourhost IdentityFile ~ / .ssh / id_dsa IdentityFile ~ / .ssh / bender
Если вы опустите Host yourhost
, настройки будут применяться ко всем соединениям SSH. Другие параметры также могут быть указаны для этого совпадения хостов, например Пользователь youruser
, Порт 2222
и т. Д. Это позволит вам соединить стенографию ssh yourhost
вместо ssh -p2222 youruser @ yourhost -i ~ / .ssh / id_dsa -i ~ / .ssh / bender
.
По умолчанию ssh ищет файлы id_dsa
и id_rsa
. Ключи не обязательно должны быть названы так, вы также можете назвать его mykey
или даже поместить его в другой каталог. Однако, если вы сделаете это, вам нужно явно указать ключ в команде ssh следующим образом:
ssh user @ server -i / path / to / mykey
Если команда не принимает -i
, например sshfs
, используйте опцию IdentityFile
:
sshfs -o IdentityFile = / path / to / mykey user @ host: / path / on / remote / mountpoint
При генерации ключа вы получите два файла: id_rsa
(закрытый ключ) и id_rsa.pub
(открытый ключ). Как показывают их имена, секретный ключ должен храниться в секрете, а публичный ключ может публиковаться публично.
Аутентификация с открытым ключом работает с открытым и закрытым ключом. У клиента и сервера есть свои ключи. При установке openssh-server
открытые и закрытые ключи сервера генерируются автоматически. Для клиента вам придется сделать это самостоятельно.
Когда вы (клиент) подключаетесь к серверу, обмениваются открытыми ключами. Вы получите серверы один, а сервер ваш. При первом получении открытого ключа сервера вас попросят принять его. Если этот открытый ключ изменится за какое-то время, вы будете предупреждены, потому что происходит возможная атака MITM (Человек в середине), перехватывая трафик между клиентом и сервером.
Сервер проверяет, вам разрешено подключаться (определено в / etc / ssh / sshd_config
), и если ваш открытый ключ указан в файле ~ / .ssh / authorized_keys
. Возможные причины отказа публичного ключа:
/ etc / ssh / sshd_config
: AllowUsers
или AllowGroups
, но ваш пользователь сервера не указан в списке групп или пользователей (по умолчанию не определен, не запрещается вход в систему пользователям или группам). Определены DenyUsers
или DenyGroups
, и вы находитесь в списке пользователей или групп. Вы пытаетесь войти в систему как root, но PermitRootLogin
установлен на Нет
(по умолчанию да
). У PubkeyAuthentication
установлено значение Нет
(по умолчанию да
). AuthorizedKeysFile
установлен в другое место, и открытые ключи не добавляются в этот файл (по умолчанию .ssh / authorized_keys
, относительно домашнего каталога) ~ / .ssh / authorized_keys
: ваш открытый ключ не добавляется в этот файл (обратите внимание, что этот файл читается как пользователь root) Нередко использовать несколько ключей. Вместо ssh user @ host -i / path / to / identity_file
вы можете использовать файл конфигурации, ~ / .ssh / config
.
Общие настройки - это IdentityFile (ключи) и порт. Следующая конфигурация будет проверять «id_dsa» и «bender» только при подключении к ssh youruser @ yourhost
:
Host yourhost IdentityFile ~ / .ssh / id_dsa IdentityFile ~ / .ssh / bender
Если вы опустите Host yourhost
, настройки будут применяться ко всем соединениям SSH. Другие параметры также могут быть указаны для этого совпадения хостов, например Пользователь youruser
, Порт 2222
и т. Д. Это позволит вам соединить стенографию ssh yourhost
вместо ssh -p2222 youruser @ yourhost -i ~ / .ssh / id_dsa -i ~ / .ssh / bender
.
По умолчанию ssh ищет файлы id_dsa
и id_rsa
. Ключи не обязательно должны быть названы так, вы также можете назвать его mykey
или даже поместить его в другой каталог. Однако, если вы сделаете это, вам нужно явно указать ключ в команде ssh следующим образом:
ssh user @ server -i / path / to / mykey
Если команда не принимает -i
, например sshfs
, используйте опцию IdentityFile
:
sshfs -o IdentityFile = / path / to / mykey user @ host: / path / on / remote / mountpoint
При генерации ключа вы получите два файла: id_rsa
(закрытый ключ) и id_rsa.pub
(открытый ключ). Как показывают их имена, секретный ключ должен храниться в секрете, а публичный ключ может публиковаться публично.
Аутентификация с открытым ключом работает с открытым и закрытым ключом. У клиента и сервера есть свои ключи. При установке openssh-server
открытые и закрытые ключи сервера генерируются автоматически. Для клиента вам придется сделать это самостоятельно.
Когда вы (клиент) подключаетесь к серверу, обмениваются открытыми ключами. Вы получите серверы один, а сервер ваш. При первом получении открытого ключа сервера вас попросят принять его. Если этот открытый ключ изменится за какое-то время, вы будете предупреждены, потому что происходит возможная атака MITM (Человек в середине), перехватывая трафик между клиентом и сервером.
Сервер проверяет, вам разрешено подключаться (определено в / etc / ssh / sshd_config
), и если ваш открытый ключ указан в файле ~ / .ssh / authorized_keys
. Возможные причины отказа публичного ключа:
/ etc / ssh / sshd_config
: AllowUsers
или AllowGroups
, но ваш пользователь сервера не указан в списке групп или пользователей (по умолчанию не определен, не запрещается вход в систему пользователям или группам). Определены DenyUsers
или DenyGroups
, и вы находитесь в списке пользователей или групп. Вы пытаетесь войти в систему как root, но PermitRootLogin
установлен на Нет
(по умолчанию да
). У PubkeyAuthentication
установлено значение Нет
(по умолчанию да
). AuthorizedKeysFile
установлен в другое место, и открытые ключи не добавляются в этот файл (по умолчанию .ssh / authorized_keys
, относительно домашнего каталога) ~ / .ssh / authorized_keys
: ваш открытый ключ не добавляется в этот файл (обратите внимание, что этот файл читается как пользователь root) Нередко использовать несколько ключей. Вместо ssh user @ host -i / path / to / identity_file
вы можете использовать файл конфигурации, ~ / .ssh / config
.
Общие настройки - это IdentityFile (ключи) и порт. Следующая конфигурация будет проверять «id_dsa» и «bender» только при подключении к ssh youruser @ yourhost
:
Host yourhost IdentityFile ~ / .ssh / id_dsa IdentityFile ~ / .ssh / bender
Если вы опустите Host yourhost
, настройки будут применяться ко всем соединениям SSH. Другие параметры также могут быть указаны для этого совпадения хостов, например Пользователь youruser
, Порт 2222
и т. Д. Это позволит вам соединить стенографию ssh yourhost
вместо ssh -p2222 youruser @ yourhost -i ~ / .ssh / id_dsa -i ~ / .ssh / bender
.
ssh_config (5)
: Имя файла может использовать синтаксис tilde для ссылки на домашний каталог пользователя или один из следующих escape-символов: '% d' (домашний каталог локального пользователя ), '% u' (локальное имя пользователя), '% l' (имя локального хоста), '% h' (имя удаленного хоста) или '% r' (имя удаленного пользователя). i> указать дикие карты, но это должно быть достаточно удобно, я думаю. Имейте в виду, что сервер должен проверять каждую отправленную вами клавишу, поэтому лучше указывать меньше ключей. Подстановочные знаки на хосте, см. Снова страницу руководства ssh_config (5)
.
– Lekensteyn
29 April 2013 в 19:43
.ssh / authorized_keys
на удаленных компьютерах. Если вы используете стандартное имя файла .ssh / id_rsa
(или id_dsa, id_ecdsa или недавнее id_ed25519), тогда ssh попытается выполнить это автоматически, и вам не нужно указывать IdentityFile
в вашем config (или параметре -i path / to / id_file
для ssh
).
– Lekensteyn
27 February 2014 в 22:04
Мой любимый метод позволяет автоматически выбирать закрытый ключ
IdentityFile ~/.ssh/%l_%r@%h_id_rsa
SSH заменит% l на имя локального компьютера,% r с удаленным именем пользователя и% h с удаленным хостом, таким образом, если бы я хотел подключиться с моего компьютера под названием foo к bar как пользователь, я запускаю:
ssh bar
И ssh будет автоматически использовать:
~/.ssh/foo_user@bar_id_rsa
Поскольку локальный хост также сохраняется, это позволяет использовать домашние каталоги, разделяемые по NFS (по разному ключу на машину!) или даже идентифицировать, на какой машине должен был быть ключ ...
Учитывая комментарий StevenRoose, для определения многих ключей требуется больше времени, и я, случается, играю с большим количеством клавиш, я хотел бы предложить свое личное решение.
Я создаю символическую ссылку к ключу, который я хочу использовать в то время, и поскольку это изменяется редко, в зависимости от того, над каким проектом я работаю, я доволен этим.
Здесь я связан с моими ключами для машин под управлением virtualbox:
$ cd .ssh/
$ ln -s adam_vbox-id_rsa.pub id_rsa.pub
$ ln -s adam_vbox-id_rsa id_rsa
$ ls -l
total 12
-rw------- 1 adam adam 1675 2013-10-04 02:04 adam_vbox-id_rsa
-rw-r--r-- 1 adam adam 396 2013-10-04 02:04 adam_vbox-id_rsa.pub
lrwxrwxrwx 1 adam adam 16 2013-10-04 02:17 id_rsa -> adam_vbox-id_rsa
lrwxrwxrwx 1 adam adam 20 2013-10-04 02:17 id_rsa.pub -> adam_vbox-id_rsa.pub
-rw-r--r-- 1 adam adam 3094 2013-10-04 02:09 known_hosts
Можно также добавить очень быстрый скрипт для перехода на другой набор без необходимости вручную вводить команду ln снова.
Опять же, это не " t решение только для двух ключей, но для большего числа оно может быть работоспособным.
Учитывая комментарий StevenRoose, для определения многих ключей требуется больше времени, и я, случается, играю с большим количеством клавиш, я хотел бы предложить свое личное решение.
Я создаю символическую ссылку к ключу, который я хочу использовать в то время, и поскольку это изменяется редко, в зависимости от того, над каким проектом я работаю, я доволен этим.
Здесь я связан с моими ключами для машин под управлением virtualbox:
$ cd .ssh/
$ ln -s adam_vbox-id_rsa.pub id_rsa.pub
$ ln -s adam_vbox-id_rsa id_rsa
$ ls -l
total 12
-rw------- 1 adam adam 1675 2013-10-04 02:04 adam_vbox-id_rsa
-rw-r--r-- 1 adam adam 396 2013-10-04 02:04 adam_vbox-id_rsa.pub
lrwxrwxrwx 1 adam adam 16 2013-10-04 02:17 id_rsa -> adam_vbox-id_rsa
lrwxrwxrwx 1 adam adam 20 2013-10-04 02:17 id_rsa.pub -> adam_vbox-id_rsa.pub
-rw-r--r-- 1 adam adam 3094 2013-10-04 02:09 known_hosts
Можно также добавить очень быстрый скрипт для перехода на другой набор без необходимости вручную вводить команду ln снова.
Опять же, это не " t решение только для двух ключей, но для большего числа оно может быть работоспособным.
Мой любимый метод позволяет автоматически выбирать закрытый ключ
IdentityFile ~/.ssh/%l_%r@%h_id_rsa
SSH заменит% l на имя локального компьютера,% r с удаленным именем пользователя и% h с удаленным хостом, таким образом, если бы я хотел подключиться с моего компьютера под названием foo к bar как пользователь, я запускаю:
ssh bar
И ssh будет автоматически использовать:
~/.ssh/foo_user@bar_id_rsa
Поскольку локальный хост также сохраняется, это позволяет использовать домашние каталоги, разделяемые по NFS (по разному ключу на машину!), или даже идентифицировать, на какой машине должен был быть ключ ...
Учитывая комментарий StevenRoose, для определения многих ключей требуется больше времени, и я, случается, играю с большим количеством клавиш, я хотел бы предложить свое личное решение.
Я создаю символическую ссылку к ключу, который я хочу использовать в то время, и поскольку это изменяется редко, в зависимости от того, над каким проектом я работаю, я доволен этим.
Здесь я связан с моими ключами для машин под управлением virtualbox:
$ cd .ssh/
$ ln -s adam_vbox-id_rsa.pub id_rsa.pub
$ ln -s adam_vbox-id_rsa id_rsa
$ ls -l
total 12
-rw------- 1 adam adam 1675 2013-10-04 02:04 adam_vbox-id_rsa
-rw-r--r-- 1 adam adam 396 2013-10-04 02:04 adam_vbox-id_rsa.pub
lrwxrwxrwx 1 adam adam 16 2013-10-04 02:17 id_rsa -> adam_vbox-id_rsa
lrwxrwxrwx 1 adam adam 20 2013-10-04 02:17 id_rsa.pub -> adam_vbox-id_rsa.pub
-rw-r--r-- 1 adam adam 3094 2013-10-04 02:09 known_hosts
Можно также добавить очень быстрый скрипт для перехода на другой набор без необходимости вручную вводить команду ln снова.
Опять же, это не " t решение только для двух ключей, но для большего числа оно может быть работоспособным.
Мой любимый метод позволяет автоматически выбирать закрытый ключ
IdentityFile ~/.ssh/%l_%r@%h_id_rsa
SSH заменит% l на имя локального компьютера,% r с удаленным именем пользователя и% h с удаленным хостом, таким образом, если бы я хотел подключиться с моего компьютера под названием foo к bar как пользователь, я запускаю:
ssh bar
И ssh будет автоматически использовать:
~/.ssh/foo_user@bar_id_rsa
Поскольку локальный хост также сохраняется, это позволяет использовать домашние каталоги, разделяемые по NFS (по разному ключу на машину!), или даже идентифицировать, на какой машине должен был быть ключ ...
Учитывая комментарий StevenRoose, для определения многих ключей требуется больше времени, и я, случается, играю с большим количеством клавиш, я хотел бы предложить свое личное решение.
Я создаю символическую ссылку к ключу, который я хочу использовать в то время, и поскольку это изменяется редко, в зависимости от того, над каким проектом я работаю, я доволен этим.
Здесь я связан с моими ключами для машин под управлением virtualbox:
$ cd .ssh/
$ ln -s adam_vbox-id_rsa.pub id_rsa.pub
$ ln -s adam_vbox-id_rsa id_rsa
$ ls -l
total 12
-rw------- 1 adam adam 1675 2013-10-04 02:04 adam_vbox-id_rsa
-rw-r--r-- 1 adam adam 396 2013-10-04 02:04 adam_vbox-id_rsa.pub
lrwxrwxrwx 1 adam adam 16 2013-10-04 02:17 id_rsa -> adam_vbox-id_rsa
lrwxrwxrwx 1 adam adam 20 2013-10-04 02:17 id_rsa.pub -> adam_vbox-id_rsa.pub
-rw-r--r-- 1 adam adam 3094 2013-10-04 02:09 known_hosts
Можно также добавить очень быстрый скрипт для перехода на другой набор без необходимости вручную вводить команду ln снова.
Опять же, это не " t решение только для двух ключей, но для большего числа оно может быть работоспособным.
Мой любимый метод позволяет автоматически выбирать закрытый ключ
IdentityFile ~/.ssh/%l_%r@%h_id_rsa
SSH заменит% l на имя локального компьютера,% r с удаленным именем пользователя и% h с удаленным хостом, таким образом, если бы я хотел подключиться с моего компьютера под названием foo к bar как пользователь, я запускаю:
ssh bar
И ssh будет автоматически использовать:
~/.ssh/foo_user@bar_id_rsa
Поскольку локальный хост также сохраняется, это позволяет использовать домашние каталоги, разделяемые по NFS (по разному ключу на машину!), или даже идентифицировать, на какой машине должен был быть ключ ...
Учитывая комментарий StevenRoose, для определения многих ключей требуется больше времени, и я, случается, играю с большим количеством клавиш, я хотел бы предложить свое личное решение.
Я создаю символическую ссылку к ключу, который я хочу использовать в то время, и поскольку это изменяется редко, в зависимости от того, над каким проектом я работаю, я доволен этим.
Здесь я связан с моими ключами для машин под управлением virtualbox:
$ cd .ssh/
$ ln -s adam_vbox-id_rsa.pub id_rsa.pub
$ ln -s adam_vbox-id_rsa id_rsa
$ ls -l
total 12
-rw------- 1 adam adam 1675 2013-10-04 02:04 adam_vbox-id_rsa
-rw-r--r-- 1 adam adam 396 2013-10-04 02:04 adam_vbox-id_rsa.pub
lrwxrwxrwx 1 adam adam 16 2013-10-04 02:17 id_rsa -> adam_vbox-id_rsa
lrwxrwxrwx 1 adam adam 20 2013-10-04 02:17 id_rsa.pub -> adam_vbox-id_rsa.pub
-rw-r--r-- 1 adam adam 3094 2013-10-04 02:09 known_hosts
Можно также добавить очень быстрый скрипт для перехода на другой набор без необходимости вручную вводить команду ln снова.
Опять же, это не " t решение только для двух ключей, но для большего числа оно может быть работоспособным.
Мой любимый метод позволяет автоматически выбирать закрытый ключ
IdentityFile ~/.ssh/%l_%r@%h_id_rsa
SSH заменит% l на имя локального компьютера,% r с удаленным именем пользователя и% h с удаленным хостом, таким образом, если бы я хотел подключиться с моего компьютера под названием foo к bar как пользователь, я запускаю:
ssh bar
И ssh будет автоматически использовать:
~/.ssh/foo_user@bar_id_rsa
Поскольку локальный хост также сохраняется, это позволяет использовать домашние каталоги, разделяемые по NFS (по разному ключу на машину!), или даже идентифицировать, на какой машине должен был быть ключ ...
Учитывая комментарий StevenRoose, для определения многих ключей требуется больше времени, и я, случается, играю с большим количеством клавиш, я хотел бы предложить свое личное решение.
Я создаю символическую ссылку к ключу, который я хочу использовать в то время, и поскольку это изменяется редко, в зависимости от того, над каким проектом я работаю, я доволен этим.
Здесь я связан с моими ключами для машин под управлением virtualbox:
$ cd .ssh/
$ ln -s adam_vbox-id_rsa.pub id_rsa.pub
$ ln -s adam_vbox-id_rsa id_rsa
$ ls -l
total 12
-rw------- 1 adam adam 1675 2013-10-04 02:04 adam_vbox-id_rsa
-rw-r--r-- 1 adam adam 396 2013-10-04 02:04 adam_vbox-id_rsa.pub
lrwxrwxrwx 1 adam adam 16 2013-10-04 02:17 id_rsa -> adam_vbox-id_rsa
lrwxrwxrwx 1 adam adam 20 2013-10-04 02:17 id_rsa.pub -> adam_vbox-id_rsa.pub
-rw-r--r-- 1 adam adam 3094 2013-10-04 02:09 known_hosts
Можно также добавить очень быстрый скрипт для перехода на другой набор без необходимости вручную вводить команду ln снова.
Опять же, это не " t решение только для двух ключей, но для большего числа оно может быть работоспособным.
Мой любимый метод позволяет автоматически выбирать закрытый ключ
IdentityFile ~/.ssh/%l_%r@%h_id_rsa
SSH заменит% l на имя локального компьютера,% r с удаленным именем пользователя и% h с удаленным хостом, таким образом, если бы я хотел подключиться с моего компьютера под названием foo к bar как пользователь, я запускаю:
ssh bar
И ssh будет автоматически использовать:
~/.ssh/foo_user@bar_id_rsa
Поскольку локальный хост также сохраняется, это позволяет использовать домашние каталоги, разделяемые по NFS (по разному ключу на машину!), или даже идентифицировать, на какой машине должен был быть ключ ...
Мой любимый метод позволяет автоматически выбирать закрытый ключ
IdentityFile ~/.ssh/%l_%r@%h_id_rsa
SSH будет замените% l на имя локального компьютера,% r с удаленным именем пользователя и% h с удаленным хостом, поэтому, если бы я хотел подключиться с моего компьютера с именем foo к bar как пользователь, я запускаю:
ssh bar
И ssh автоматически будет использовать:
~/.ssh/foo_user@bar_id_rsa
] Поскольку локальный хост также сохраняется, это позволяет использовать домашние каталоги, разделяемые по NFS (по разному ключу на машину!), Или даже определить, на какой машине должен был быть ключ ...
Учитывая комментарий StevenRoose, для определения многих ключей требуется больше времени, и я, случается, играю с большим количеством клавиш, я хотел бы предложить свое личное решение.
Я создаю символическую ссылку к ключу, который я хочу использовать в то время, и поскольку это изменяется редко, в зависимости от того, над каким проектом я работаю, я доволен этим.
Здесь я связан с моими ключами для машин под управлением virtualbox:
$ cd .ssh / $ ln -s adam_vbox-id_rsa.pub id_rsa.pub $ ln -s adam_vbox-id_rsa id_rsa $ ls -l всего 12 -rw --- ---- 1 adam adam 1675 2013-10-04 02:04 adam_vbox-id_rsa -rw-r - r-- 1 adam adam 396 2013-10-04 02:04 adam_vbox-id_rsa.pub lrwxrwxrwx 1 adam adam 16 2013-10-04 02:17 id_rsa - & gt; adam_vbox-id_rsa lrwxrwxrwx 1 adam adam 20 2013-10-04 02:17 id_rsa.pub - & gt; adam_vbox-id_rsa.pub -rw-r - r-- 1 adam adam 3094 2013-10-04 02:09 known_hosts
Можно также добавить очень быстрый скрипт, чтобы перейти на другой набор без необходимости вручную вводить команду ln.
Опять же, это не решение только для двух ключей, но для большего числа оно может быть работоспособным.
Мой любимый метод позволяет автоматически выбирать закрытый ключ
IdentityFile ~/.ssh/%l_%r@%h_id_rsa
SSH будет замените% l на имя локального компьютера,% r с удаленным именем пользователя и% h с удаленным хостом, поэтому, если бы я хотел подключиться с моего компьютера с именем foo к bar как пользователь, я запускаю:
ssh bar
И ssh автоматически будет использовать:
~/.ssh/foo_user@bar_id_rsa
] Поскольку локальный хост также сохраняется, это позволяет использовать домашние каталоги, разделяемые по NFS (по разному ключу на машину!), Или даже определить, на какой машине должен был быть ключ ...
Учитывая комментарий StevenRoose, для определения многих ключей требуется больше времени, и я, случается, играю с большим количеством клавиш, я хотел бы предложить свое личное решение.
Я создаю символическую ссылку к ключу, который я хочу использовать в то время, и поскольку это изменяется редко, в зависимости от того, над каким проектом я работаю, я доволен этим.
Здесь я связан с моими ключами для машин под управлением virtualbox:
$ cd .ssh / $ ln -s adam_vbox-id_rsa.pub id_rsa.pub $ ln -s adam_vbox-id_rsa id_rsa $ ls -l всего 12 -rw --- ---- 1 adam adam 1675 2013-10-04 02:04 adam_vbox-id_rsa -rw-r - r-- 1 adam adam 396 2013-10-04 02:04 adam_vbox-id_rsa.pub lrwxrwxrwx 1 adam adam 16 2013-10-04 02:17 id_rsa - & gt; adam_vbox-id_rsa lrwxrwxrwx 1 adam adam 20 2013-10-04 02:17 id_rsa.pub - & gt; adam_vbox-id_rsa.pub -rw-r - r-- 1 adam adam 3094 2013-10-04 02:09 known_hosts
Можно также добавить очень быстрый скрипт, чтобы перейти на другой набор без необходимости вручную вводить команду ln.
Опять же, это не решение только для двух ключей, но для большего числа оно может быть работоспособным.
Мой любимый метод позволяет автоматически выбирать закрытый ключ
IdentityFile ~/.ssh/%l_%r@%h_id_rsa
SSH будет замените% l на имя локального компьютера,% r с удаленным именем пользователя и% h с удаленным хостом, поэтому, если бы я хотел подключиться с моего компьютера с именем foo к bar как пользователь, я запускаю:
ssh bar
И ssh автоматически будет использовать:
~/.ssh/foo_user@bar_id_rsa
] Поскольку локальный хост также сохраняется, это позволяет использовать домашние каталоги, разделяемые по NFS (по разному ключу на машину!), Или даже определить, на какой машине должен был быть ключ ...
Учитывая комментарий StevenRoose, для определения многих ключей требуется больше времени, и я, случается, играю с большим количеством клавиш, я хотел бы предложить свое личное решение.
Я создаю символическую ссылку к ключу, который я хочу использовать в то время, и поскольку это изменяется редко, в зависимости от того, над каким проектом я работаю, я доволен этим.
Здесь я связан с моими ключами для машин под управлением virtualbox:
$ cd .ssh / $ ln -s adam_vbox-id_rsa.pub id_rsa.pub $ ln -s adam_vbox-id_rsa id_rsa $ ls -l всего 12 -rw --- ---- 1 adam adam 1675 2013-10-04 02:04 adam_vbox-id_rsa -rw-r - r-- 1 adam adam 396 2013-10-04 02:04 adam_vbox-id_rsa.pub lrwxrwxrwx 1 adam adam 16 2013-10-04 02:17 id_rsa - & gt; adam_vbox-id_rsa lrwxrwxrwx 1 adam adam 20 2013-10-04 02:17 id_rsa.pub - & gt; adam_vbox-id_rsa.pub -rw-r - r-- 1 adam adam 3094 2013-10-04 02:09 known_hosts
Можно также добавить очень быстрый скрипт, чтобы перейти на другой набор без необходимости вручную вводить команду ln.
Опять же, это не решение только для двух ключей, но для большего числа оно может быть работоспособным.
Мой любимый метод позволяет автоматически выбирать закрытый ключ
IdentityFile ~/.ssh/%l_%r@%h_id_rsa
SSH будет замените% l на имя локального компьютера,% r с удаленным именем пользователя и% h с удаленным хостом, поэтому, если бы я хотел подключиться с моего компьютера с именем foo к bar как пользователь, я запускаю:
ssh bar
И ssh автоматически будет использовать:
~/.ssh/foo_user@bar_id_rsa
] Поскольку локальный хост также сохраняется, это позволяет использовать домашние каталоги, разделяемые по NFS (по разному ключу на машину!), Или даже определить, на какой машине должен был быть ключ ...
Учитывая комментарий StevenRoose, для определения многих ключей требуется больше времени, и я, случается, играю с большим количеством клавиш, я хотел бы предложить свое личное решение.
Я создаю символическую ссылку к ключу, который я хочу использовать в то время, и поскольку это изменяется редко, в зависимости от того, над каким проектом я работаю, я доволен этим.
Здесь я связан с моими ключами для машин под управлением virtualbox:
$ cd .ssh / $ ln -s adam_vbox-id_rsa.pub id_rsa.pub $ ln -s adam_vbox-id_rsa id_rsa $ ls -l всего 12 -rw --- ---- 1 adam adam 1675 2013-10-04 02:04 adam_vbox-id_rsa -rw-r - r-- 1 adam adam 396 2013-10-04 02:04 adam_vbox-id_rsa.pub lrwxrwxrwx 1 adam adam 16 2013-10-04 02:17 id_rsa - & gt; adam_vbox-id_rsa lrwxrwxrwx 1 adam adam 20 2013-10-04 02:17 id_rsa.pub - & gt; adam_vbox-id_rsa.pub -rw-r - r-- 1 adam adam 3094 2013-10-04 02:09 known_hosts
Можно также добавить очень быстрый скрипт, чтобы перейти на другой набор без необходимости вручную вводить команду ln.
Опять же, это не решение только для двух ключей, но для большего числа оно может быть работоспособным.