Mam problem z jenkinsem , ustawienie "git" pokazuje następujący błąd:
Failed to connect to repository : Command "git ls-remote -h https://[email protected]/person/projectmarket.git HEAD" returned status code 128:
stdout:
stderr: fatal: Authentication failed
Testowałem z ssh :
[email protected]:person/projectmarket.git
To jest błąd:
Failed to connect to repository : Command "git ls-remote -h [email protected]:person/projectmarket.git HEAD" returned status code 128:
stdout:
stderr: Host key verification failed.
fatal: The remote end hung up unexpectedly
Te kroki również wykonałem z „kluczem SSH”.
Zaloguj się pod Jenkins
sudo su jenkins
Skopiuj swój klucz github do folderu Jenkins .ssh
cp ~/.ssh/id_rsa_github* /var/lib/jenkins/.ssh/
Zmień nazwy kluczy
mv id_rsa_github id_rsa
mv id_rsa_github.pub id_rsa.pub
ale nadal nie działa repozytorium git w jenkins .
dzięki za pomoc !.
Odpowiedzi:
Zmień na
jenkins
użytkownika i uruchom polecenie ręcznie:Otrzymasz standardowe ostrzeżenie SSH podczas pierwszego łączenia się z nowym hostem przez SSH:
Wpisz
yes
i naciśnij Enter. Klucz hosta dlabitbucket.org
zostanie teraz dodany do~/.ssh/known_hosts
pliku i nie będziesz już otrzymywać tego błędu w Jenkins.źródło
Jenkins jest kontem usługi, nie ma powłoki zgodnie z projektem. Powszechnie przyjmuje się, że usługi kont. nie powinien mieć możliwości interaktywnego logowania.
Aby rozwiązać problem „Weryfikacja klucza hosta Jenkins nie powiodła się”, wykonaj następujące czynności. Użyłem Mercurial z Jenkinsem.
1) Wykonaj następujące polecenia na terminalu
podaj hasło
2) Wygeneruj publiczny klucz prywatny za pomocą następującego polecenia:
możesz zobaczyć dane wyjściowe jako:
3) Naciśnij Enter -> Nie podawaj hasła -> naciśnij Enter
4) przejdź do -> cat /var/lib/jenkins/.ssh/id_rsa.pub
5) Skopiuj klucz z id_rsa.pub
6) Wyjdź z bash
7)
ssh@yourrepository
8)
vi .ssh/authorized_keys
9) Wklej klucz
10) wyjście
11) Zaloguj się ręcznie do serwera Mercurial
Uwaga: Pls logują się ręcznie, w przeciwnym razie jenkins ponownie wyświetli błąd „weryfikacja hosta nie powiodła się”
12) Po wykonaniu ręcznym przejdź do Jenkinsa i podaj kompilację
Cieszyć się!!!
Powodzenia
źródło
Lub możesz użyć:
ssh -oStrictHostKeyChecking=no host
Będzie to niebezpieczne (atakuje człowiek pośrodku), ale najłatwiejsze rozwiązanie.
Lepszym sposobem na to jest wygenerowanie poprawnych mapowań między hostem a adresem IP, więc
ssh
nie będzie narzekać:Fragment z sedna .
źródło
Miałem ten sam problem, naprawiłem to w ten sposób:
reset uprawnienia na id_rsa * tylko dla bieżącego użytkownika brak grupy żaden inny
I wyczyść ~ / .ssh / know_hosts
Teraz połącz się jako Jenkins
Wypróbuj polecenia Jenkinsa
Jeśli nie pojawi się żaden problem, teraz Jenkins będzie mógł podłączyć repozytorium (przynajmniej dla mnie ^^)
źródło
używając https://bitbucket.org/YYYY/XX.git
powinieneś usunąć nazwę użytkownika @
źródło
Upewnij się, że nie edytujemy żadnych domyślnych właściwości sshd_config, aby pominąć błąd
Weryfikacja hosta nie powiodła się - zdecydowanie brak wpisu nazwy hosta w
known_hosts
plikuZaloguj się do serwera, na którym proces się nie udaje i wykonaj następujące czynności:
Sudo do użytkownika uruchamiającego proces
ssh-copy-id destinationuser@destinationhostname
Po raz pierwszy zapyta się w ten sposób, powie tak, a także zapyta o hasło po raz pierwszy:
Pytanie o hasło? podaj hasło
Teraz z serwera, na którym działa proces, zrób
ssh destinationuser@destinationhostname
. Powinien zalogować się bez hasła.Uwaga: nie zmieniaj domyślnych uprawnień do plików w katalogu .ssh użytkownika , skończysz z różnymi problemami
źródło
Jeśli chodzi o obejście (np. Windows slave), zdefiniuj następującą zmienną środowiskową we właściwościach globalnych:
Uwaga: jeśli nie widzisz tej opcji, prawdopodobnie potrzebujesz do niej wtyczki EnvInject .
źródło
Skopiuj klucze hosta z bitbucket i github:
źródło
Najlepszym sposobem jest użycie adresu URL „git url” w formacie adresu URL „https” w pliku Jenkinsfile lub w dowolnym innym miejscu.
git url: 'https://github.com/jglick/simple-maven-project-with-tests.git'
źródło
SSH
Jeśli próbujesz to zrobić z SSH, błąd weryfikacji klucza hosta może wystąpić z kilku powodów. Wykonaj te kroki, aby przezwyciężyć wszystkie przyczyny.
źródło
Otóż to!
możesz teraz ponownie uruchomić zadanie Jenkinsa.
Mam nadzieję, że to rozwiąże Twój problem.
źródło
Natknąłem się na ten problem i okazało się, że problem polegał na tym, że usługa Jenkins nie była uruchomiona jako użytkownik jenkins. Więc uruchamianie poleceń jako użytkownik jenkins działało dobrze.
źródło
Próbować
ssh-keygen -R nazwa hosta
-R nazwa_hosta Usuwa wszystkie klucze należące do nazwy hosta z pliku znane_hosty. Ta opcja jest przydatna do usuwania zahaszowanych hostów
źródło