Мне нужен ssh чтобы использовать только ключи, предоставленные ssh-agent , и игнорировать любые файлы идентификации в ~/.ssh . Какой лучший способ сделать это?

Предыстория: мне нужно пройти аутентификацию на сервере Git через SSH. У меня есть ~/.ssh/id_rsa который правильно аутентифицируется, но связанный с ним пользователь Git не имеет правильных прав доступа к репозиторию. Поэтому мне нужно использовать другой ключ, который я могу предоставить только через ssh-agent , для аутентификации в качестве правильного пользователя Git. Тем не менее, поскольку SSH, по-видимому, отдает предпочтение локальным файлам идентификации над предоставленными агентом, я всегда заканчиваю тем, что аутентифицируюсь как неправильный пользователь.

1 ответ1

0

Нет никакой возможности сделать именно это (кроме переименования id_rsa в id_whothing).

Но реальный вопрос, похоже, заключается в том, «как сделать так, чтобы ssh предпочитал определенный ключ только для агента». На самом деле это немного проще, вы можете сделать это, используя ту же опцию IdentityFile (-i), как и всегда.

Сначала используйте ssh-add -L для извлечения открытого ключа из агента в файл; затем укажите IdentityFile на извлеченный открытый ключ. ssh примет его даже без приватной части и автоматически использует ssh-agent для аутентификации.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .