Недавно я переустановил свой ноутбук и обнаружил, что «git clone» не работает. Я постоянно получаю Permission denied (publickey).
ошибки.
Исправление описано на странице проблем SSH в GitHub : используйте, ssh-add
чтобы сообщить SSH о ключе, который я хочу использовать для аутентификации на GitHub.
Мой вопрос: под капотом, что на ssh-add
самом деле делает?
Я собирался расширить мое понимание SSH на некоторое время, и это кажется хорошим поводом для начала :-)
~/.ssh
каталоге. Некоторые дистрибутивы делают эквивалентssh-add
автоматически? Может поэтому я запутался?ssh
действительно использует ключ в~/.ssh
каталоге, но если ключ защищен парольной фразой, эту парольную фразу необходимо ввести в какой-то момент. Если вы используетеssh-agent
иssh-add
, вы вводите эту фразу один раз. В противном случае вы должны вводить парольную фразу при каждом использованииssh
. Обратите внимание, что если ключ не защищен паролем, вы можете использовать егоssh
без запроса пароля.~/.ssh
и это может быть более полезным, см. SO и документы по bitbucketОсновываясь на этой статье в github , иногда в некоторых дистрибутивах Linux, даже после того, как вы все настроили правильно, появляется эта ошибка:
И вы должны бежать,
ssh-add
чтобы решить проблему.источник