ssh-agent 不保留我的密钥配置

ssh-agent 不保留我的密钥配置

每次我需要使用 git pull 时,我都需要运行ps aux | grep ssh,终止所有 ssh 进程(包括)ssh-agent,然后输入命令eval `ssh-agent`ssh-add ~/.ssh/my_key。配置未得到维护。(我生成了两个密钥,第一个运行良好,第二个有这个问题)。

答案1

github.com我发现我需要告诉 ssh-agent 在处理类似或任何其他连接时的密钥是什么。如果你有远程( git remote -v[email protected]:path/to/file.git,你应该在路径中创建一个 ssh 配置文件,~/.ssh/config配置如下

Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/<github_private_key>

其中github_private_key是您想要与远程服务器绑定的私有密钥github.comHost配置是配置的别名,我使用等同于 的别名是HostName因为我已经配置了远程服务器。一般情况下,如果您有一个远程服务器user@host:path/to/file.git ,并且您正在配置与 github 的连接,则配置应该包含此内容

Host <host>
    HostName github.com
    User <user>
    IdentityFile ~/.ssh/<github_private_key>

为了以最佳方式获得此配置,您可以~/.ssh/config像这样在文件上创建新的配置

Host my-alias
    HostName github.com
    User git
    IdentityFile ~/.ssh/<github_private_key>

现在,您可以使用, 如果您已经克隆了 git 存储库,则可以将远程更改为。git clone [email protected]:path/to/file.gitgit clone git@my-alias:path/to/file.gitgit@my-alias:path/to/file.git

相关内容