前言
github自用
方法
步骤一
git push之后无反应,首先运行:
killall ssh-agent; eval 'ssh-agent'
结果显示:
Agent pid xxxxxxx
解释:
命令 killall ssh-agent; eval 'ssh-agent'
是在 UNIX 类系统中用来管理 SSH 代理的一种常见方式。具体来说,这条命令做的事情包括两部分:
-
killall ssh-agent
:这个命令会终止所有当前正在运行的ssh-agent
进程。ssh-agent
是一个密钥管理器,用于管理 SSH 私钥,它会在后台运行。如果你觉得当前的ssh-agent
进程有问题或者你想重新启动一个新的ssh-agent
进程,这个命令就非常有用。 -
eval 'ssh-agent'
:这个命令启动一个新的ssh-agent
进程,并通过eval
命令执行ssh-agent
提供的环境变量设置脚本,这样任何后续的 ssh 操作都可以利用这个ssh-agent
进程管理的密钥。ssh-agent
输出设置环境变量的命令,eval
执行这些命令,以便 SSH 客户端能自动利用ssh-agent
。
步骤二
ssh-add ~/.ssh/id_rsa
解释:
在执行了 killall ssh-agent; eval 'ssh-agent'
之后,通常你需要将你的 SSH 私钥添加到新的 ssh-agent
进程中,以便能无密码进行 SSH 认证。可以用这个命令来添加你的私钥:
这里假设你的私钥文件名是 id_rsa
,并且存放在默认的 .ssh
目录下。如果你有多个密钥或者密钥存储在不同的位置,你需要指定相应的文件路径。
如果密钥文件受密码保护,第一次运行 ssh-add
时,系统会要求你输入密码。一旦密钥被添加到 ssh-agent
,在后续的 SSH 会话中,就无需再次输入密码了。
步骤三
git push
重新git push'
就行。
总结
这个命令组合用于重启 ssh-agent
,确保其正常运行,并通过 ssh-add
命令加载密钥到代理中,从而简化 SSH 认证过程。