openssh: ssh добавляет ключи к агенту по мере необходимости


25

Когда я захожу на сервер по ssh, а мой ключ не загружен в агент, я должен прервать работу, а затем запустить ssh-add, чтобы получить ключ в агент. Я бы хотел, чтобы команда ssh автоматически добавляла ключ, если его нет. Это возможно?


У вас есть один ключ для всех ваших целевых хостов, или у вас разные ключи с разными паролями? Используете ли вы замазку из Windows, или вы используете оконную систему на основе X в Linux, или вы используете Mac?
— Отеус

Я использую только один ключ и openssh. ssh уже определяет правильный ключ и спрашивает у меня пароль, но после того, как я его введу, ключ не будет сохранен в агент. Это поведение одинаково на всех системах POSIX и Cygwin.
— загадочный

Это выглядит похоже? stackoverflow.com/questions/3466626/…
— techraf

Нет, это другое. Я хочу вводить пароль ключа каждый раз, когда агент останавливается. Я просто хотел бы, чтобы ssh добавлял ключ к агенту напрямую по мере необходимости, вместо того, чтобы сначала использовать ssh-add.
— загадочный

Ответы:


35

AddKeysToAgentВариант делает то , что я хочу. Я могу указать -o AddKeysToAgent=yesв командной строке или добавить AddKeysToAgent yesстроку в моем .ssh/config. Либо работает.

Похоже, это очень недавнее дополнение к openssh, появившееся в выпуске 7.2 от 2016-02-28!

http://www.openssh.com/txt/release-7.2

Спасибо, OpenBSD! Я буду использовать это много .


.ssh / config: строка 3: Неверный параметр конфигурации: AddKeysToAgent. Есть предположения? Сервер Unix
— trainoasis

Проверьте вашу версию openssh. $ ssh -V. Оно должно быть новее или равно 7.2.
— загадочный

Действительно, это было так, спасибо. Тем не менее, просит пароль после relog, хотя. Как автоматизировать git pull через скрипт, например, если вам всегда нужно вводить pass? И я предполагаю, что id_rsa без пароля не очень хорошая идея ...
— trainoasis

Вы имеете в виду между логинами ssh или между локальными логинами? Предполагается, что пароль будет удален между локальными логинами.
— загадочный

Всякий раз, когда я запускаю скрипт локально, он должен там ssh и запускать git pull и т. Д., Но, конечно, он не может, потому что ему нужен пароль для команд GIT (ssh работает без, потому что pass находится в связке ключей, но команды там, конечно, запрашивают pass)
— Trainoasis
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.