флаг ssh '-i' не использует предоставленный ключ для аутентификации
За последние несколько месяцев я понял, что флаг команды ssh "-i" (который относится к указанию файла идентификации) не работает должным образом, когда я пытаюсь пройти аутентификацию на каком-либо сервере.
Из того, что я понял, я мог бы использовать этот флаг, чтобы указать ssh-ключ для аутентификации на сервере, избегая необходимости проверять каждый ключ, добавленный к моему агенту, и, возможно, переполнять попытки подключения.
Сейчас я пытаюсь изменить пользователя для аутентификации в git (вопрос не относится к конкретному git), и то, что происходит, таково:
- У меня есть два ключа ssh, которые аутентифицируются на github, назовем их user1.pem и user2.pem.
- пользователь1.pem аутентифицируется для пользователя 1 в github, а пользователь2.pem аутентифицируется для пользователя 2.
- Я запускаю команду "ssh-T git@github.com ", он аутентифицируется для пользователя 1.
- Я запускаю команду "ssh -T-i ~/.ssh/user2.pem git@github.com ", он продолжает аутентифицировать пользователя 1.
Нет никаких проблем в все с ключами, оба были добавлены в агент, и у них есть правильные права доступа к файлам.
Чтобы обойти это, мне пришлось удалить все ключи из моего агента и повторно добавить только user2.pem, затем он аутентифицировался для user2.
Просто чтобы повторить, это НЕ относится к git, так как у меня была эта проблема и с обычными серверами Linux, и я не смог найти никакого решения, кроме настройки хостов в файле ~/.ssh/config
. Я использую git в качестве примера только потому, что его проще тестировать.
Являюсь ли я неправильное использование флага "ssh-i"?