Я недавно установил Kubuntu 16.04.2 на моем компьютере. С тех пор я больше не могу использовать свои ssh ключи к битоприемнику доступа и репозиториям GitHub. В старой системе (Ubuntu 14.04) всплывающее окно с заголовком "Разблокировало закрытый ключ", появился для первого использования ключа (просьба о моем пароле), и я был установлен для остальной части сессии.
Начиная с обновления я получаю следующую ошибку:
$ git pull
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Это - то, вследствие того, что ключ не был добавлен к ssh-agent
(все же). Я могу сделать это вручную использование:
$ ssh-add ~/.ssh/my_key
Enter passphrase for .ssh/my_key:
который является обходным решением.
В то время как вышеупомянутое обходное решение могло бы добиться цели и существуют опции автоматизировать его (см. ссылку ниже), я предпочел бы иметь старую функциональность назад, где я автоматически запрашиваюсь для моего пароля при первом использовании.
Что могло я (моя система) отсутствовать, чтобы это работало? Я не 100% о том, какие части / программы включены.
Не уверенный, если это релевантно, но я использую LDAP, таким образом, я сохранил содержание своей домашней папки при перемещении из Ubuntu 14.04 (с Единицей) к 16,04 (с KDE).
Для моих почтовых ключей шифрования не изменилось поведение, и меня просят относительно пароля с помощью всплывающего окна.
Существует другой вопрос, имеющий дело с подобной проблемой. Это однако имеет дело с другой версией и имеет другую цель (Они заставляют ее работать над консолью, я хотел бы свое всплывающее окно назад).
Как уже было сказано, добавьте
IdentityFile ~/.ssh/my_key
AddKeysToAgent yes
к вашему ~/.ssh/config
, чтобы добиться аналогичного поведения.
Если я добавлю (
blockquote>AddKeysToAgent yes
) в мою локальную конфигурацию ssh (~/.ssh/config
), ключи также будут сохранены. Однако запрос находится в терминале, что само по себе неплохо, но я хотел бы понять, как вернуть это всплывающее окно.Всплывающее окно в более старой версии Ubuntu пришло из
gnome-keyring
, где вы сохранили свой ключ. Это явно не в KDE-версии Ubuntu.Нет простого способа получить ту же подсказку от чистого OpenSSH. Но вы можете попробовать поэкспериментировать с KWallet, который может иметь аналогичную функциональность.
Имена файлов по умолчанию для файлов идентификационных данных следующие:
# IdentityFile ~/.ssh/identity
# IdentityFile ~/.ssh/id_rsa
# IdentityFile ~/.ssh/id_dsa
# IdentityFile ~/.ssh/id_ecdsa
# IdentityFile ~/.ssh/id_ed25519
Добавляют Ваш собственный файл к /etc/ssh/ssh_config
, или переименование его должно добиться цели.
Я был бы очень удивлен, что в обновлении или версии ubuntu что-нибудь есть
это действительно похоже на проблему git + ssh. это могло быть не связано, но у меня была аналогичная проблема с использованием git через ssh с сервисом bitbucket.
произошло то, что у меня было 2 учетных записи bitbucket. и оба ключа SSH загружены в мой агент. bitbucket не позволяет повторно использовать один и тот же ключ ssh для нескольких учетных записей. так что вы вынуждены иметь два.
когда оба были загружены в мой агент, я вошел в неправильную учетную запись и получил ту же ошибку Permission denied
.
Я использовал ssh-add -d
для временного удаления идентификатора моего агента
, затем я обнаружил, что могу правильно настроить его в своей конфигурации ssh.
Host bitbucket_account2
HostName bitbucket.org
User git
PreferredAuthentications publickey
IdentityFile /home/mathieu/.ssh/bitbucket_account2_rsa
IdentitiesOnly yes
ControlMaster no
затем
git remote remove origin
git remote add origin bitbucket_account2:team/soft.git
развлекайтесь