SSH, использующий ssh_key из другой учетной записи

Существует ли путь к пользователю к ssh как другой пользователь, использующий ssh_keys? Например, я имею, размещают B и C.

User X SSHes from A to B as himself ( A -- as X --> B )
Now the user wants to SSH to C from B but as a diff account ( Y ) B --- as Y ---> C 

Мне сохранили ключи в/home/Y/.ssh/[id_rsa | id_rsa.pub]

Теперь, Когда X находится на B и выполнениях ssh Y@C это выберет ключ SSH от Y? или если ключ указан в команде с флагом-i, как ssh Y@C -i /home/Y/.ssh/id_rsa

Первое не работало на меня, это попросило пароль, когда я скопировал ключи к своему домашнему пути dir, т.е. в /home/X/.ssh/ и дал разрешение, оно работало.

Идеально я хотел бы позволить любому луг SSH B к SSH к C как Y. И я не хочу копировать ключ к каждому, люди размещают dir. Как я пошел бы о с этим?Спасибо.

-2
задан 14 August 2014 в 09:53
2 ответа

Это становится все более распространенным заблуждением вокруг разрешения ssh . Просто наличие открытого ключа на удаленном сервере не дает никому возможности аутентифицироваться, используя соответствующий закрытый ключ.

Выполните sshd человека и поищите информацию о файле authorized_keys . Этот файл, remoteserver:~remoteuser/.ssh/authorized_keys, является тем, к чему обращается демон remoteeserver'ssh при принятии решения о том, какой(ие) закрытый(ые) ключ(ы) принять для входящей аутентификации.

Вам не нужно копировать закрытый ключ во все домашние каталоги пользователей; вам нужно собрать копии открытых ключей всех пользователей и поместить их в C:~Y/.ssh/authorized_keys, по одному ключу на строку. Пользователи могут затем ssh Y@C; хотя в зависимости от какого публичного ключа они дали вам (или вы собрали), им может понадобиться указать соответствующий закрытый ключ с -i /home/X/.ssh/id_rsa_relevant_private_key.

Если вы даже не хотите этого делать, вы должны разрешить всем (соответствующим) пользователям на C sudo /bin/su - Y; заставьте их войти как самих себя, затем используйте sudo для изменения идентификации.

Правка после вашего комментария ниже: да, это сделает: но это также сделает невозможным отзыв доступа любого пользователя к этой учетной записи, т.к. есть только один ключ. Это кошмар обслуживания и безопасности, и вы ни при каких обстоятельствах не должны этого делать.

Я сделал предложение выше о sudo на тот случай, если вы почувствуете, что это так.

.
4
ответ дан 5 December 2019 в 21:08

SSH авторизация в основном состоит из 3 файлов для каждого пользователя. id_rsa - закрытый ключ, используемый для авторизации id_rsa.pub - публичный ключ authorized_keys - файл, содержащий открытые ключи, используемые для входа в систему

Поместите ваш открытый ключ X пользователя на C-сервере в авторизованные_ключи, принадлежащие Y-пользователю. Помните о правильных разрешениях!

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

PS: чтение ключа от другого пользователя совсем небезопасно. Оставайтесь простыми :)

.
0
ответ дан 5 December 2019 в 21:08

Теги

Похожие вопросы