Этот вопрос похож на Аутентификация с открытым ключом 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
)Что касается разных доменов, вы можете изменить их для каждого ключа, добавив environment="HOME=/home/user1"
для ключа user1 в файле authorized_keys. Видеть man authorized_keys
.
Попробуйте, YMMV.