为什么 SSH_AUTH_SOCK 和 SSH_AGENT_PID 在 Amazon Linux 中一段时间​​后会取消设置?

为什么 SSH_AUTH_SOCK 和 SSH_AGENT_PID 在 Amazon Linux 中一段时间​​后会取消设置?

我们有一个构建系统,需要与 Mercurial 建立主动 ssh 连接,为此,它需要ssh-agent不断加载密钥。

问题是,即使在创建 ssh 代理 eval $(ssh-agent -s)并设置环境变量之后:

  • SSH_AUTH_SOCK
  • SSH_AGENT_PID

正在做env | grep SSH

SSH_AGENT_PID=7601
SSH_CLIENT=***.***.***.*** 53371 22
SSH_AUTH_SOCK=/tmp/ssh-4gJ9y89gPzbg/agent.7600
SSH_CONNECTION=***.***.***.*** 53371 10.0.67.4 22

当我从 EC2 实例注销后,程序运行并拉取存储库等几个小时后,它会突然出现此错误:

CommandError: (-1, 'remote: ssh_exchange_identification: Connection closed by remote host', 'abort: no suitable response from remote hg!')

然后,当我去检查时,env | grep SSH唯一设置的是SSH_CONNECTIONSSH_CLIENT

  1. 为什么会出现这种情况呢?这些环境变量仅在会话中设置吗?

  2. 如果是这样,为什么它只会在长时间注销后才会失败?

  3. 我怎样才能使这些环境变量始终存在,这样就不会因为没有设置这两个环境变量而破坏我的程序?

答案1

您的密码超时,但我不知道您的操作系统或设置。

相关内容