【问题标题】:SSH key added to the user gets deleted after log out添加到用户的 SSH 密钥在注销后被删除
【发布时间】:2018-06-14 00:36:25
【问题描述】:

我正在尝试运行 ssh -T git@gitlab.com 来测试我与 gitlab 的连接。

当我登录机器并通过命令行运行它时,我可以使用 ssh-key 连接到 gitlab。 (在与 Jenkins 相同的用户上下文和与 Jenkins 相同的工作目录中)

但是,一旦我注销并再次登录,我就无法通过 Jenkins 的 ssh 连接到 Gitlab。

这是我正在做的事情:

对于登录,用户是Jenkins,但它在 ec2 实例中。因此,在登录 ec2 实例后,我正在使用 sudo su jenkins 登录 Jenkins 用户。

登录后,我将使用以下命令添加 ssh 密钥:

eval `ssh-agent -s`
ssh-add <mySshKey>

ssh -vT git@gitlab.com

我得到的输出是: Welcome to GitLab, @vighneshpai!

但是,当我使用exit 注销并再次登录并尝试ssh -vT git@gitlab.com 时,它失败了。说Permission denied (publickey)

知道为什么会这样吗?

【问题讨论】:

  • 您的交互式会话在debug1: Offering RSA public key: gitlab-key 之后成功,您的非交互式会话在它不提供该公钥时失败。大概这意味着您没有将该密钥提供给非交互式会话,可能是因为您没有使用 SSH 代理来传递密钥。您可能希望使用特定于机器的密钥,并让您的 Jenkins 有权访问和使用该密钥,而不是来自代理的密钥。

标签: git amazon-web-services jenkins ssh gitlab


【解决方案1】:

将您的 Jenkins 公钥添加到 gitlab 帐户

【讨论】:

  • 正如我已经告诉你的,当我从我的机器手动连接并进行 ssh 连接时,它工作正常。这意味着我已经在我的帐户中添加了密钥:)
猜你喜欢
  • 1970-01-01
  • 2018-02-06
  • 1970-01-01
  • 2013-07-23
  • 2014-05-23
  • 2018-03-15
  • 2018-12-20
  • 1970-01-01
  • 2013-08-20
相关资源
最近更新 更多