将 ssh 身份文件添加到 ssh 代理和 keychain 的目的

将 ssh 身份文件添加到 ssh 代理和 keychain 的目的

我注意到 Github 上关于将 ssh 密钥添加到您的帐户的说明说您需要将密钥添加到您的文件~/.ssh/configssh agentssh-add

https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent 在此处输入图片描述 在此处输入图片描述

但是,我刚刚注意到,如果我使用 清除 ssh 代理中的密钥ssh-add -D,那么我仍然可以正常地从我的 github 存储库推送和拉取。我认为这是有道理的,因为在我的~/.ssh/config文件中,我为(所有主机)指定了要Host *使用的确切 IdentityFile,因此它将自动使用那个。

所以,我的问题是 - 为什么要直接将密钥添加到 ssh-agent? 在某些情况下,我仅将其添加到 ~/.ssh/config 文件的方法是否不起作用?

答案1

希望您在该身份文件上设置了密码吗?

如果你没有注意到,你可能不会注意到有什么不同;如果你注意到了,将它添加到代理中将允许你输入密码一次在运行代理的整个生命周期内(或直到您清除身份)。

如果没有代理,我希望每次尝试连接时都会提示您。

相关内容