Спробуйте ssh-add
, вам потрібно ssh-agent
працювати і тримати ваш приватний ключ
(Гаразд, відповідаючи на оновлене запитання, ви спершу запускаєте ssh-keygen
для створення відкритого та приватного ключа, як пояснив Джефромі . Ви ставите відкритий ключ на сервер. Ви повинні використовувати пароль, якщо у вас немає еквівалента звичайного -текстовий пароль у вашому приватному ключі. Але коли ви це зробите, це потрібно як практичне питання, як пояснено нижче.)ssh-agent
Ви хочете працювати ssh-agent
у фоновому режимі під час входу. Після входу в систему ідея полягає в тому, щоб запустити ssh-add
один раз і лише один раз, щоб надати агенту свою парольну фразу, щоб розшифрувати ваш ключ. Потім агент просто сидить у пам’яті з розблокованим і завантаженим ключем, готовий до використання кожного разу, коли ви кудись схилитесь.
Усі команди ssh-сім'ї 1 звернуться до агента і автоматично зможуть користуватися вашим приватним ключем.
У системах OSX (помилка, macOS ), GNOME та KDE ssh-agent
зазвичай запускається автоматично. Я детально розберуся в тому випадку, якщо, як і я, у вас є також Cygwin або інше середовище Windows, де це, безумовно, зроблено не для вас.
Початок тут: man ssh-agent
.
Існують різні способи автоматичного запуску агента. Як пояснюється головна сторінка, ви можете запустити її так, щоб вона була батьківською для всіх інших процесів вашого сеансу входу. Таким чином, змінні середовища, які вона надає, автоматично будуть знаходитись у всіх ваших оболонках. Коли ви (пізніше) викликаєте ssh-add
або ssh
обидва отримаєте доступ до агента, оскільки всі вони мають змінні середовища з іменами магічних сокетів або будь-яким іншим.
Крім того, ви можете запустити агент як звичайна дитина, зберегти налаштування середовища у файлі та джерело цього файлу у кожній оболонці, коли він запускається.
Мої системи OSX та Ubuntu автоматично виконують налаштування запуску агента, тому все, що мені потрібно зробити, це запустити ssh-add
один раз. Спробуйте запустити ssh-add
і побачити, чи працює він, якщо так, то вам просто потрібно зробити це один раз за перезавантаження.
Моїй системі Cygwin потрібно було це зробити вручну, тому я це зробив у своєму, .profile
і у мене є .bashrc
джерело .profile
:
. .agent > /dev/null
ps -p $SSH_AGENT_PID | grep ssh-agent > /dev/null || {
ssh-agent > .agent
. .agent > /dev/null
}
.agent
Файл створюється автоматично з допомогою сценарію; він містить визначення змінних середовищ та експорт. Вищенаведене намагається створити файл .agent, а потім спробує отримати ps(1)
агент. Якщо це не працює, він запускає агент і створює новий файл агента. Ви також можете просто запустити, ssh-add
і якщо це не вдасться запустити агент.
1. І навіть локальний і віддалений sudo
з правильним розширенням пам.