该问题是由于缺少环境变量 SSH_AUTH_SOCK
导致的。为了解决这个问题,可以在创建SSH代理之前设置 SSH_AUTH_SOCK
环境变量。以下是一个例子:
# 设置 SSH_AUTH_SOCK 环境变量
export SSH_AUTH_SOCK=$(find /tmp -type s -name agent.\* -printf '%T@ %p\n' 2>/dev/null | sort -nr | head -n1 | awk '{print $2}')
# 创建 SSH 代理
ssh-agent bash -c 'ssh-add /path/to/id_rsa; command-to-run'
在上面的示例中,SSH_AUTH_SOCK
环境变量设置为当前正在运行的 SSH 代理的套接字路径。然后,创建 SSH 代理并添加私钥。最后,执行要运行的命令。
注意:这只是一个示例,你需要根据你的具体情况进行调整。