Git 添加到用户的SSH密钥在注销后被删除

Git 添加到用户的SSH密钥在注销后被删除,git,amazon-web-services,jenkins,ssh,gitlab,Git,Amazon Web Services,Jenkins,Ssh,Gitlab,我正在尝试运行ssh-Tgit@gitlab.com测试我与gitlab的连接 当我登录到机器并通过命令行运行时,我能够使用ssh密钥连接到gitlab。(在与Jenkins相同的用户上下文和与Jenkins相同的工作目录中) 但是,一旦我注销并再次登录,我就无法通过ssh从Jenkins连接到Gitlab 以下是我正在做的事情: 对于登录,用户是Jenkins,但它在ec2实例中。所以,在登录到ec2实例之后,我正在做sudosujenkins来登录到jenkins用户 登录后,我将使用以下命

我正在尝试运行ssh-Tgit@gitlab.com测试我与gitlab的连接

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

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

以下是我正在做的事情:

对于登录,用户是
Jenkins
,但它在ec2实例中。所以,在登录到ec2实例之后,我正在做
sudosujenkins
来登录到jenkins用户

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

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

ssh -vT git@gitlab.com
eval`ssh代理-s`
ssh添加
ssh-vTgit@gitlab.com
我得到的结果是:
欢迎来到GitLab,@vighnespai

但是,当我使用
exit
注销并再次登录并尝试
ssh-vT时git@gitlab.com
它失败了。表示权限被拒绝(公钥)


知道为什么会发生这种情况吗?

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

正如我已经告诉过您的,当我从机器手动连接并进行ssh连接时,它工作正常。这意味着我已经在我的帐户上添加了密钥:)您的交互式会话成功在
debug1:提供RSA公钥:gitlab key
之后,您的非交互式会话在不提供该公钥时失败。这可能意味着您没有将该密钥提供给非交互式会话,可能是因为您没有使用SSH代理传递该密钥。您可能希望使用特定于机器的密钥,并让您的Jenkins能够访问和使用该密钥,而不是代理的密钥。