git添加公钥后报错sign_and_send_pubkey: signing failed: agent refused operation
在服务器添加完公钥后报错
sign_and_send_pubkey: signing failed: agent refused operation
解决方案:
eval
"$(ssh-agent -s)"
ssh-add
补充:
linux shell中的eval 语法:eval cmdLine eval会对后面的cmdLine进行两遍扫描,如果第一遍扫描后,cmdLine是个普通命令,则执行此命令;如果cmdLine中含有变量的间接引用,则保证间接引用的语义。 举例如下: set 11 22 33 44 如果要输出最近一个参数,即44,可以使用如下命令, echo $4 但是如果我们不知道有几个参数的时候,要输出最后一个参数,大家可能会想到使用$#来输出最后一个参数, 如果使用命令: echo "\$$#" 则得到的结果是 $4,而不是我们想要的44。这里涉及到一个变量间接引用的问题,我们的本意是输出 $4,默认情况下,命令后忽略变量间接引用的情况。 这时候,就可以使用eval命令。 eval echo "\$$#" 得到的结果为44
ssh-add 命令详细介绍 语法 ssh-add [-cDdLlXx] [-t life] [file ...] ssh-add -s pkcs11 ssh-add -e pkcs11 参数说明 -D :删除ssh-agent中的所有密钥; -d :从ssh-agent中的删除密钥; -e : pkcs11 :删除 PKCS#11 共享库 pkcs1 提供的钥匙; -s : pkcs11 :添加 PKCS#11 共享库 pkcs1 提供的钥匙; -L :显示 ssh-agent 中的公钥; -l :显示 ssh-agent 中的密钥; -t : life:对加载的密钥设置超时时间,超时 ssh-agent 将自动卸载密钥; -X :对 ssh-agent 进行解锁; -x :对 ssh-agent 进行加锁; 示例 把专用密钥添加到 ssh-agent 的高速缓存中 ssh-add /home/chen/.ssh/id_rsa 从ssh-agent中删除密钥 ssh-add -d /home/chen/.ssh/id_rsa.pub 查看ssh-agent中的密钥 ssh-add -l
每天记录一点,就能多学一点,充实一点