git 我可以永久添加ssh私钥到我的用户代理吗?

toiithl6  于 2023-04-04  发布在  Git
关注(0)|答案(3)|浏览(122)

这是一个有点菜鸟的问题,但每天在工作中,当我打开git bash时,我必须启动ssh-agent守护进程,并将我的ssh-private key添加到user-agent中,以便Github知道我是谁。
1.计算“$(ssh代理)”

  1. ssh-添加~/.ssh/标识符_rsa
    如果我不这样做,我不能拉/推到github。
    每天都要这样做有点烦人,有没有办法永久添加它?
xyhw6mcr

xyhw6mcr1#

不使用ssh-agent,而是将以下内容放入.ssh/config文件中:

Host github.com
    IdentityFile ~/.ssh/id_rsa

代理主要用于避免在.ssh/config中创建大量配置(因为任何连接都将尝试使用代理中找到的密钥),或者允许远程SSH会话返回到本地计算机以获取必要的密钥。

9rbhqvlz

9rbhqvlz2#

另一种解决同样问题的方法是将私钥(例如id_rsa)移动到默认的ssh密钥位置~/.ssh

cp /your/key/location/id_rsa ~/.ssh

似乎由于某种原因,当您使用ssh-add命令的-i选项从不同位置添加标识时,它不会永久添加它。

nkkqxpd9

nkkqxpd93#

要使SSH密钥在计算机重新启动时保持不变,您需要将其添加到ssh-agent,并将代理配置为在登录时自动启动。
以下是应遵循的步骤:
打开终端并输入以下命令来启动ssh-agent:

eval "$(ssh-agent -s)"

通过键入以下命令将SSH密钥添加到代理:

ssh-add ~/.ssh/id_rsa

注意:如果id_rsa与SSH密钥文件的名称不同,请将其替换为该文件的名称。
接下来,您需要配置ssh-agent,使其在您登录计算机时自动启动。
a.如果您使用的是macOS或Linux,请创建或编辑~/.bashrc或~/.bash_profile文件,并在末尾添加以下行:
bash复制代码eval“$(ssh-agent -s)”ssh-add ~/.ssh/id_rsa b.如果您使用的是Windows,请创建一个名为start-ssh-agent.cmd的新文件并添加以下行:
sql Copy code @echo off start /B ssh-agent cmd ssh-add C:\Users\YourUsername.ssh\id_rsa注意:将YourUsername替换为您的实际用户名,如果不同,则将id_rsa替换为SSH密钥文件的名称。
最后,按照以下步骤将start-ssh-agent.cmd文件添加到Windows启动程序中:
a.按Win + R打开运行对话框。
B.键入shell:startup并按Enter。
将start-ssh-agent.cmd文件复制到打开的Startup文件夹中。
这将确保ssh-agent在您登录到计算机时自动启动,并且您的SSH密钥将添加到代理,因此您不必在每次重新启动计算机时运行ssh-add命令。

相关问题