Назад | Перейти на главную страницу

Несколько открытых ключей для одного пользователя

Этот вопрос похож на Аутентификация с открытым ключом SSH - можно ли использовать один открытый ключ для нескольких пользователей? но все наоборот.

Я экспериментирую с использованием ssh, поэтому любой ssh-сервер будет работать для ваших ответов.

Могу ли я иметь несколько открытых ключей, связанных с одним и тем же пользователем? Каковы преимущества этого? Кроме того, можно ли установить разные домашние каталоги для разных используемых ключей (все они связаны с одним и тем же пользователем)?

Пожалуйста, дайте мне знать, если я не понимаю.

Спасибо.

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

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

ssh-keygen -t rsa -f ~/.ssh/id_rsa.home
ssh-keygen -t rsa -f ~/.ssh/id_rsa.work

Затем добавьте запись в свой ~/.ssh/config файл, чтобы выбрать ключ для использования в зависимости от сервера, к которому вы подключаетесь:

Host home
Hostname home.example.com
IdentityFile ~/.ssh/id_rsa.home
User <your home acct>

Host work
Hostname work.example.com
IdentityFile ~/.ssh/id_rsa.work
User <your work acct>

Затем добавьте содержимое вашего id_rsa.work.pub в ~/.ssh/authorized_keys на рабочей машине и проделайте то же самое с ключом Home на домашней машине.

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

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

Имеет смысл иметь ключи от нескольких пользователей, передаваемые одному пользователю. Общие причины:

  • резервное копирование
  • мерзавец (например, Push URL: git+ssh://git@git-server/~/repos/MyProject)
  • rsync
  • общий доступ к приложению

Что касается разных доменов, вы можете изменить их для каждого ключа, добавив environment="HOME=/home/user1" для ключа user1 в файле authorized_keys. Видеть man authorized_keys.

Попробуйте, YMMV.