Я хочу получить доступ от одной комбинации пользователя/клиента (скажите, user1@cl
) к комбинации пользователя/сервера (говорят, user2@srv
) через ssh, с двумя различными типами Доступа:
Тип доступа № 1 был бы ограничен взаимодействиями с репозиторием базара. Для этого я добавил строку (#1) в ~user2/.ssh/authorized_keys
как
command="bzr serve --inet --directory=/repodir --allow-writes",no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-rsa ... user1@cl
Тип доступа № 2 был бы оболочкой входа в систему. Для этого я добавил "обычную" строку (#2) в ~user2/.ssh/authorized_keys
как
ssh-rsa ... user1@cl
Как я понимаю, и когда я протестировал, обе строки не могут использоваться одновременно. Т.е. если строка № 1 кажется первой в ~user2/.ssh/authorized_keys
, затем я смог бы взаимодействовать с bzr repo, но я не смогу сделать
[user1@cl]$ ssh user2@srv
Если строка № 2 кажется первой в ~user2/.ssh/authorized_keys
, затем я смог бы сделать ssh
, но любой bzr
операция дает
bzr: ERROR: Not a branch ...
Там какой-либо путь состоит в том, чтобы разработать это?
Связанные сообщения (но не обращение к моему случаю, как я понимаю):
https://stackoverflow.com/questions/2419566/best-way-to-use-multiple-ssh-private-keys-on-one-client
https://serverfault.com/questions/142997/what-options-can-be-put-into-a-ssh-authorized-keys-file
https://serverfault.com/questions/749474/ssh-authorized-keys-command-option-multiple-commands
Я заставил его работать, с двумя различными парами ключей (скажите, пара 1 для bzr
и пара 2 для ssh
вход в систему). Я добавил соответствующие строки в ~user2/.ssh/authorized_keys
. Закрытый ключ 1 был сохранен в файле id_rsa
(который читается по умолчанию), и закрытый ключ 2 был сохранен в файле id_rsa_ssh
.
Затем bzr
, работал обычно, и для входа в систему я использую
[user1@cl]$ ssh -i id_rsa_ssh user2@srv
, который указывает на использование альтернативных идентификационных данных.