git Ssh老是忘带钥匙

ycl3bljg  于 2022-11-20  发布在  Git
关注(0)|答案(4)|浏览(122)

这就是问题所在:我使用的是Git Shell和GitHub for Windows一起安装的。我在C:\Users\MyName\.ssh里面有3个ssh键:

  • github_rsa(这是github为Windows生成的密钥)
  • id_rsa(由我生成)
  • tm_rsa(由我生成)

我使用以下命令插入密钥:

ssh-add ~/.ssh/github_rsa
ssh-add ~/.ssh/id_rsa
ssh-add ~/.ssh/tm_rsa

每次我重新启动计算机,ssh总是忘记密钥。如果我执行这个命令ssh-add -L,它只显示一个密钥,通常是github_rsa
如何避免每次都要输入密钥?

myss37ts

myss37ts1#

我认为你必须把它添加到你的git bash shell中,in .bashrc

eval `ssh-agent`
ssh-add
jdgnovmf

jdgnovmf2#

尝试

$ ssh-add -L
The agent has no identities.

如果看到此消息,只需运行ssh-add
以下是来源:https://stackoverflow.com/a/39616339/2941404

6ojccjat

6ojccjat3#

首先通过ssh-add添加您的私钥:

ssh-add /path-to-private-key

然后输入密码短语。
然后运行:ssh-add
如果你已经失去了连接,我的意思是ssh-add没有身份,然后你运行ssh-add,它将不工作。要使它工作,你必须在一个会话中完成所有的过程。
要自动执行此操作,只需将以下行添加到.bashrc文件中:

ssh-add -L || ssh-add /path-to-private-key;ssh-add;
dfuffjeb

dfuffjeb4#

eval `ssh-agent`

它在退出ssh会话后杀死ssh-agent,例如从vscode退出。
下面的代码在后台运行ssh-agent,并且在退出ssh会话后不会终止该代理。

eval "$(ssh-agent -s)"

然后只需添加您生成的密钥

ssh-add ~/.ssh/<keyfile>

相关问题