Я использую Ubuntu 13.04 и недавно сменил ключи SSH. По какой-то причине Unity, или что-то в Gnome (морской конек?), Кажется, не признает это. Ключи были сгенерированы на другом компьютере, и я в основном скопировал новую пару ключей SSH в /home/user/.ssh
Что-то сломалось после того, как я скопировал новые ключи. Когда я запускаю git clone <url>
в терминале в Unity, я получаю эту ошибку:
Agent admitted failure to sign using the key
Permission denied (publickey).
fatal: could not read from remote repository
Please make sure you have the correct access rights
and the repository exists
Случайно я переключился на консоль tty и выполнил ту же команду git clone <url>
. Это на самом деле работает! Что-то в Unity каким-то образом управляет ключами ssh и почему-то не использует пару ключей в каталоге /home/user/.ssh
?
После некоторого поиска в Google я попытался запустить ssh-add
, но это т работа. Я также попытался переместить все из каталога /home/user/.local/share/keyrings
, а затем перезагрузиться, но я все еще получаю ту же ошибку в терминальной сессии в Unity.
В чем здесь проблема?
Seahorse - это графический интерфейс для gnome-keyring. Вы можете найти там ваши ssh-ключи.
SeaHorse установлен по умолчанию, просто наберите Seahorse в тире.
Брелок для ключей Gnome управляет ключами ssh в Единице по умолчанию.
auth.log показывает это
gnome-keyring-daemon[1823]: no private keys found in file
gnome-keyring-daemon[1823]: invalid or unrecognized private SSH key: <email>
gnome-keyring-daemon[1823]: signing of the data failed: The operation failed
gnome-keyring-daemon[1823]: no private keys found in file
gnome-keyring-daemon[1823]: invalid or unrecognized private SSH key: <email>
gnome-keyring-daemon[1823]: signing of the data failed: The operation failed
Сообщение в блоге здесь детализирует, как отключить Брелок для ключей Gnome на настольных сессиях. Я перечислил шаги ниже.
Шаги для отключения Брелока для ключей Gnome в Единице:
1) "Раскройте" Брелок для ключей Gnome из Приложений Запуска путем редактирования /etc/xdg/autostart/gnome-keyring-ssh.desktop
файл и изменение "NoDisplay" ко лжи.
2) Запущенные "Приложения Запуска" через Тире и Брелок для ключей Gnome снятия флажка. Это будет препятствовать тому, чтобы Брелок для ключей Gnome запустился, когда Единица запустится.
3) Выйдите из системы, затем войдите в систему снова.
После перевхода в систему я могу работать git clone <url>
и git fetch
успешно.