Odmowa uprawnień (klucz publiczny) podczas pobierania z GitHub z użytkownikiem Jenkins w Ubuntu

Oto moja konfiguracja:

Jenkins działa na moim komputerze z systemem Linux jako użytkownik „jenkins”.Wygenerowałem parę kluczy ssh, jak opisano wLinux - Setup Git, dla użytkownika „jenkins”.Kiedy jasudo su jenkins i próbujssh -vT [email protected], Zawsze jestem pytany o moje hasło, ale zawsze jestem ostatecznie uwierzytelniony. (opcja verbose pokazuje, który klucz jest używany, między innymi).Mogłem sklonować moje repo z GitHub używając jenkins:

Tak więc:

jenkins@alpm:~/jobs/test git/workspace$ git pull 
Enter passphrase for key '/var/lib/jenkins/.ssh/id*_rsa':
Already up-to-date.

Do tego momentu postępowałem zgodnie z instrukcjami do listu. Problem polega na tym, że zadanie Jenkinsa kończy się niepowodzeniem z następującym błędem:

status code 128:
stdout: 
stderr: Permission denied (publickey).
fatal: The remote end hung up unexpectedly

Jest to ten sam błąd, co ja, kiedy piszę hasło (ale oczywiście Jenkins nie prosi mnie o hasło). Następujące strony:

GitHub - problemy z SSHKorzystanie z przekazywania agenta SSH

wskaż mi, że ssh-agent może pomóc zapamiętać hasło, które robi, gdy używam własnego użytkownika, ale niejenkins ID. Zauważ, że podczas działania, gdy mój normalny użytkownik daje:

echo "$SSH_AUTH_SOCK"
/tmp/keyring-nQlwf9/ssh

Podczas uruchamiania tego samego polecenia, co moje „jenkins”, nic nie daje (nawet nie odmówiono zgody)

Moje rozumienie problemu polega na tym, że hasło nie jest pamiętane. Masz jakiś pomysł? Czy mam założyć ssh-agent lub key ring manager dla użytkownika jenkins? W jaki sposób? Czy przekazywanie ssh jest odpowiednie przy przekazywaniu do tego samego urządzenia? Jakiś lepszy pomysł?

ps: nigdysudo gitted, Zawsze używałem jenkins lub mojego konta użytkownika (jak wspomniano w tym poście SO -Zagadnienie klucza SSH Ubuntu / GitHub)

questionAnswers(8)

yourAnswerToTheQuestion