У меня есть две машины, M1 и M2, и рабочий OS X и третья машина, L, запуская Linux. M1 и M2 имеют ключи RSA, разблокированные в Связке ключей, таким образом, я могу:
Однако, когда я ssh от M1 до M2, и затем к L (в то время как все еще физически на M1), это просит у меня пароль ключа! Я попытался вручную разблокировать login.keychain
использование security
команда, но это, кажется, не имеет никакого эффекта.
Что идет не так, как надо? Как я могу удвоить ssh, не вводя паролей?
Связка ключей работает точно, как она должна, что делает-A это вперед Ваши загруженные ключи от M1 до M2 и на L. Я подозреваю, что, когда Вы входите в M2, он не инициализирует Ваши ключи / запуск полной сессии, потому что графический процесс входа в систему не произошел наряду со всем, им - побочные эффекты.
Если Вы хотите передать свой агент где-нибудь Вы ssh, необходимо создать файл ~/.ssh/config и добавить запись для * хост с набором ForwardAgent к да:
Host *
ForwardAgent yes
Кроме того, можно быть более конкретными, о каком хосте Вы хотите передать свой агент путем замены этого * с именем хоста.
Вы пытаетесь войти в L от M2. Это означает, что M2 должен иметь Ваши учетные данные (ключевой и пароль). Но Ваши учетные данные находятся на самом деле на M1.
Можно скопировать учетные данные в M2, но затем необходимо было бы взаимодействовать со связкой ключей на M2. С другой стороны, можно сказать M2 связываться со связкой ключей на M1, а не связкой ключей на M2. Это - на самом деле обычный метод, и некоторые установки имеют эту работу out-of-the-box, но по-видимому не Ваш.
Включите передачу агента от M1 до M2. На командной строке, с OpenSSH, передача -A
опция (т.е. выполненный ssh -A M2
на M1). Можно также поместить ForwardAgent
директива в ~/.ssh/config
. Возможно, существует также GUI способ сделать это на OSX.