我最近在我的电脑上安装了 Kubuntu 16.04.2。从那以后,我不能再使用我的 ssh 密钥访问 bitbucket 和 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.
Run Code Online (Sandbox Code Playgroud)
这是因为密钥尚未添加到ssh-agent(尚未)中。我可以使用以下方法手动执行此操作:
$ ssh-add ~/.ssh/my_key
Enter passphrase for .ssh/my_key:
Run Code Online (Sandbox Code Playgroud)
这是一种解决方法。
虽然上述解决方法可能会奏效,并且有一些选项可以使其自动化(请参阅下面的链接),但我更希望将旧功能恢复到首次使用时自动查询密码短语的位置。
我(我的系统)缺少什么才能使其正常工作?我不是 100% 关于涉及哪些部分/程序。
不确定这是否相关,但我使用的是 LDAP,因此从 Ubuntu 14.04(使用 Unity)移动到 16.04(使用 KDE)时,我保留了主文件夹的内容。
对于我的电子邮件加密密钥,行为没有改变,我被要求通过弹出窗口输入密码。
还有另一个问题处理类似的问题。然而,这涉及不同的版本并且有不同的目标(他们让它在控制台上工作,我希望我的弹出窗口回来)。
正如已经说过的,添加
IdentityFile ~/.ssh/my_key
AddKeysToAgent yes
Run Code Online (Sandbox Code Playgroud)
帮助您~/.ssh/config实现类似的行为。
如果我将 (
AddKeysToAgent yes) 添加到本地 ssh 配置 (~/.ssh/config),密钥也会被保存。然而,查询是在终端中,这本身还不错,但我想了解如何恢复此弹出窗口。
旧版 Ubuntu 中的弹出窗口来自gnome-keyring您存储密钥的地方。显然 Ubuntu 的 KDE 版本中没有。
没有简单的方法可以从纯 OpenSSH 获得相同的提示。但您可以尝试使用 KWallet 进行试验,它可能具有类似的功能。
身份文件的默认文件名如下:
# IdentityFile ~/.ssh/identity
# IdentityFile ~/.ssh/id_rsa
# IdentityFile ~/.ssh/id_dsa
# IdentityFile ~/.ssh/id_ecdsa
# IdentityFile ~/.ssh/id_ed25519
Run Code Online (Sandbox Code Playgroud)
将您自己的文件添加到/etc/ssh/ssh_config或重命名它应该可以解决问题。
| 归档时间: |
|
| 查看次数: |
2491 次 |
| 最近记录: |