openssh: Запропонуйте ssh додати ключі до агента за потребою


25

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


У вас є один ключ для всіх ваших цільових хостів, або у вас різні ключі з різними паролями? Ви використовуєте шпаклівку з Windows або використовуєте систему вікон на основі X на ОС Linux або ви перебуваєте на Mac?
Отей

Я використовую лише один ключ і openssh. ssh вже з'ясовує праву клавішу і запитує у мене парольну фразу, але після того, як я введу її, ключ не збережеться до агента. Така поведінка однакова для всіх систем POSIX та cygwin.
загадковийфізик


Ні, це інакше. Я хочу вводити пароль ключа кожного разу, коли агент зупиняється. Я просто хотів би, щоб 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

Перевірте свою відкриту версію. $ ssh -V. Він повинен бути новішим або рівним 7,2.
загадковийфізик

Дійсно так було, дякую. Все ж просить пароль після перегляду. Як автоматизувати git pull через скрипт, наприклад, якщо вам завжди потрібно ввести пропуск? І я думаю, що id_rsa без пароля - це не дуже гарна ідея ...
trainoasis

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

Кожен раз, коли я запускаю сценарій локально, він повинен сшувати там і запускати git pull тощо, але, звичайно, він не може, тому що йому потрібен пароль для GIT-команд (ssh працює без, тому що пропуск є в Keychain, але команди там, звичайно, просять пропустити)
trainoasis
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.