Github 私钥/公钥 SSH 密钥认证

Github 私钥/公钥 SSH 密钥认证

我有 github。我创建了私有/公共对。我将公共的放在了 github 上。

但是我永远无法推送到 github。每次都显示公共被拒绝。为了推送,我需要执行以下操作:

eval ssh-agent
ssh-add ~/.ssh/github_dsa

每次都要这么做,这让我很抓狂。所以,我把它放在我的~/.bashrc文件中。我觉得这是黑客行为。这是正常的吗?

答案1

对于非默认命名的 SSH 密钥?有点类似。默认情况下,SSH 将查找 id_dsa 和 id_rsa,而不是 github_dsa。使用 SSH 代理保存密钥作为要检查的密钥是一种选择,另一种选择是 ~/.ssh/config 中的 IdentityFile 行,例如:

IdentityFile ~/.ssh/github_dsa

通常您可能只想为 github 使用的主机名指定该行,因为全局添加它意味着将针对您通过 SSH 连接到的任何主机尝试该密钥。

如果您不想每次都手动添加 SSH 密钥,您可以考虑设置会话范围的 SSH 代理,例如,seahorse 在登录时启动。

相关内容