Я недавно настроил, openssh
чтобы я мог использовать его с git
.
В процессе настройки (согласно этой статье ) я запустил команды:
$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/<name of key>
Некоторое время спустя, после того, как я вышел из системы и вернулся, я попытался использовать, git push
я получил ошибку. Решением этой ошибки было выполнение тех же команд снова.
Пожалуйста, скажите мне, как я могу
- Продолжайте
ssh-agent
работать, чтобы мне не пришлось начинать новый - Помните ключи, которые я добавил, чтобы мне не приходилось добавлять их каждый раз
Просто для пояснения, я использую zsh, поэтому некоторые функции bash не будут работать в моем .zshrc.
ssh-agent
для чего и как это работает, прежде чем пытаться удовлетворить это ваш витой вариант использования.Ответы:
Для чего
ssh-agent
и как это работает?ssh-agent
Сохраняет свои расшифрованные ключи надежно в памяти и в сеансе. Не существует разумного и безопасного способа сохранить расшифрованные ключи при перезагрузке / повторном входе в систему.Хорошо, как я могу автоматизировать это?
Автоматизировать
ssh-agent
запускДобавить
к вашему
~/.bashrc
или другому сценарию запуска (~/.zshrc
).Автоматизировать добавление ключей
Ключи могут быть автоматически добавлены при первом использовании, когда вы добавляете
к вашему
~/.ssh/config
.Для получения дополнительной информации
~/.ssh/config
смman ssh_config
.источник
eval "$(ssh-agent -s)"
он будет добавлять мой ключ?ssh
поддерживаете эту опцию, тогда да.ssh-agent
тогда?[ -z "$SSH_AUTH_SOCK" ] && eval $(ssh-agent)
Добавьте это к
~/.bashrc
Это означает, что ssh-agent будет запущен автоматически при открытии другого сеанса без вашего терминала.
если вам нужен ключ, который будет добавлен к агенту, также добавьте этот
источник