tim*_*ree 27 linux ssh openssh ssh-agent
我最近进行了设置,openssh所以我可以将它与git.
$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/<name of key>
Run Code Online (Sandbox Code Playgroud)
一段时间后,在我注销并重新登录后,我尝试使用时git push出现错误。此错误的解决方案是再次运行相同的命令。
ssh-agent运行,这样我就不必开始新的了澄清一下,我使用 zsh,因此某些 bash 功能在我的 .zshrc 中不起作用。
Jak*_*uje 34
ssh-agent它的作用是什么以及它是如何工作的?该ssh-agent内存和会话安全让您解密的密钥。在重新启动/重新登录时,没有合理且安全的方法来保存解密的密钥。
ssh-agent启动添加
[ -z "$SSH_AUTH_SOCK" ] && eval "$(ssh-agent -s)"
Run Code Online (Sandbox Code Playgroud)
到您的~/.bashrc或其他启动脚本 ( ~/.zshrc)。
密钥可以在第一次使用时自动添加,当您添加
AddKeysToAgent yes
Run Code Online (Sandbox Code Playgroud)
到您的~/.ssh/config.
有关更多信息,~/.ssh/config请参见man ssh_config。
小智 7
将此添加到 ~/.bashrc
这意味着当您打开另一个会话而不是终端时,ssh-agent 将自动启动
if [ -z "$SSH_AUTH_SOCK" ] ; then
eval `ssh-agent -s`
fi
Run Code Online (Sandbox Code Playgroud)
如果您需要将密钥添加到代理中,请添加此
if [ -z "$SSH_AUTH_SOCK" ] ; then
eval `ssh-agent -s`
ssh-add ~/.ssh/<your private ssh key>
fi
Run Code Online (Sandbox Code Playgroud)