我转而将所有 SSH 私钥和公钥对保存在 1Password 中,依靠 1Password SSH 代理在身份验证时向 SSH 远程服务器和/或 GitHub 提供密钥,配置如下:
在 Mac 上:
Host github.com
User git
HostName github.com
IdentityAgent ~/Library/Group\ Containers/2BUA8C4S2C.com.1password/t/agent.sock
Host *
IdentityAgent ~/Library/Group\ Containers/2BUA8C4S2C.com.1password/t/agent.sock
在 Linux 上
Host github.com
User git
HostName github.com
IdentityAgent ~/.1password/agent.sock
Host *
IdentityAgent ~/.1password/agent.sock
我遇到了这个问题,突然间来自/到现有/未更改的系统的身份验证不再起作用了。 ssh -vvv
透露,尽管已在
ssh-add -l
中列出,但未找到/未选取适合远程系统的私钥。
由于我(还)没有找到如何使用 1Password 确定某些远程系统的密钥对,因此我恢复通过将文件
~/.config/1Password/ssh/agent.toml
调整为以下内容来限制暴露的密钥:
[[ssh-keys]]
vault = "Private"
item = "awsec2"
[[ssh-keys]]
vault = "Private"
item = "azvm"
[[ssh-keys]]
vault = "Private"
item = "github"
[[ssh-keys]]
vault = "Private"
item = "homelinux"