Saya punya masalah dengan jenkins, pengaturan "git", menunjukkan galat berikut:
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
Saya telah diuji dengan ssh:
[email protected]:person/projectmarket.git
Ini adalah kesalahan:
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
I've juga dilakukan langkah-langkah ini dengan "kunci SSH".
Login di bawah Jenkins
sudo su jenkins
Menyalin github kunci untuk Jenkins .ssh folder
cp ~/.ssh/id_rsa_github* /var/lib/jenkins/.ssh/
Mengubah tombol
mv id_rsa_github id_rsa
mv id_rsa_github.pub id_rsa.pub
tapi masih tidak bekerja git repositori di jenkins.
terima kasih dengan bantuan!.
Perubahan jenkins
pengguna dan menjalankan perintah secara manual:
git ls-remote -h [email protected]:person/projectmarket.git HEAD
Anda akan mendapatkan standar SSH peringatan ketika pertama kali menghubungkan ke host baru via SSH:
The authenticity of host 'bitbucket.org (207.223.240.181)' can't be established.
RSA key fingerprint is 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40.
Are you sure you want to continue connecting (yes/no)?
Jenis ya
dan tekan Enter. Kunci host untuk bitbucket.org
sekarang akan ditambahkan ke ~/.ssh/known_hosts
file dan anda tidak't mendapatkan kesalahan ini dalam Jenkins lagi.
Jenkins adalah layanan akun, itu doesn't memiliki shell dengan desain. Hal ini umumnya diterima bahwa akun layanan. seharusnya't dapat masuk secara interaktif.
Untuk mengatasi "Jenkins kunci Host verifikasi gagal", lakukan langkah-langkah berikut. Saya telah menggunakan mercurial dengan jenkins.
1)Jalankan perintah berikut di terminal
$ sudo su -s /bin/bash jenkins
memberikan password
2)Menghasilkan public private key menggunakan perintah berikut:
ssh-keygen
anda dapat melihat output seperti ::
Generating public/private rsa key pair.
Enter file in which to save the key (/var/lib/jenkins/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
3)Tekan Enter --> tidak memberikan passphrase--> tekan enter
Key has been generated
pergi ke --> cat /var/lib/jenkins/.ssh/id_rsa.pub
Salinan kunci dari id_rsa.pub
6)Keluar dari bash
ssh@yourrepository
vi .ssh/authorized_keys
Paste kunci
exit
11)Manual login ke server mercurial
Catatan: Pls melakukan login secara manual jika tidak jenkins akan lagi memberikan kesalahan "host verifikasi gagal"
12)setelah dilakukan secara manual, Sekarang pergi ke Jenkins dan memberikan membangun
Menikmati!!!
Good Luck
Atau anda dapat menggunakan:
ssh -oStrictHostKeyChecking=tidak ada host
Ini akan menjadi tidak aman (man in the middle attacks) tapi solusi termudah.
Cara yang lebih baik untuk melakukannya adalah untuk menghasilkan benar pemetaan antara host dan alamat ip, jadi ssh
tidak akan mengeluh:
#!/bin/bash
for domain in "github.com" "bitbucket.org"; do
sed -i "/$domain/d" ~/.ssh/known_hosts
line=$(ssh-keyscan $domain,`nslookup $domain | awk '/^Address: / { print $2 ; exit }'`)
echo $line >> ~/.ssh/known_hosts
done
Kutipan dari inti.
Punya masalah yang sama, saya memperbaikinya seperti itu :
ulang izin pada id_rsa* hanya untuk pengguna saat ini tidak ada kelompok lain
chmod o-rwx ~/.ssh/id*
chmod G-rwx ~/.ssh/id*
ls -lart ~/.ssh/
-rw------- 1 jenkins nogroup 398 avril 3 09:34 id_rsa.pub
-rw------- 1 jenkins nogroup 1675 avril 3 09:34 id_rsa
Dan jelas ~/.ssh/know_hosts
Sekarang Menghubungkan jenkins
sudo su jenkins
Coba jenkins perintah
git ls-remote -h [email protected]:user/project.git HEAD
Jika ada masalah muncul, sekarang jenkins akan dapat menghubungkan repo (bagi saya ^^ setidaknya)
menggunakan https://bitbucket.org/YYYY/XX.git
anda harus menghapus username@
Pastikan kita tidak mengedit default sshd_config properti untuk melewatkan kesalahan
Host Verifikasi Gagal - Pasti hilang masuknya nama host di known_hosts
file
Login ke server di mana proses ini gagal dan lakukan hal berikut:
Sudo untuk user yang menjalankan proses
ssh-copy-id destinationuser@destinationhostname
Ia akan meminta seperti ini untuk pertama kalinya, mengatakan ya dan itu juga akan meminta password untuk pertama kalinya:
Keaslian host 'sample.org (205.214.640.91)' dapat't akan didirikan. RSA key fingerprint adalah 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40. Apakah anda yakin ingin melanjutkan menghubungkan (ya/tidak)? ya
Password prompt ? memberikan password
ssh destinationuser@destinationhostname
. Itu harus login tanpa password.Catatan: tidak mengubah izin default file di user's .ssh direktori, anda akan berakhir dengan isu-isu yang berbeda
SSH
Jika anda mencoba dengan SSH, maka Host Verifikasi kunci kesalahan bisa datang karena beberapa alasan.Ikuti langkah-langkah berikut untuk mengatasi semua alasan.
Copy host kunci dari kedua bitbucket dan github:
ssh root@deployserver 'echo "$(ssh-keyscan -t rsa,dsa bitbucket.org)" >> /root/.ssh/known_hosts' ssh root@deployserver 'echo "$(ssh-keyscan -t rsa,dsa github.com)" >> /root/.ssh/known_hosts'
yang's ini!
sekarang anda dapat kembali menjalankan pekerjaan jenkins.
Saya harap anda ini akan memperbaiki masalah anda.
Adapun pemecahan masalah (misalnya Windows budak), mendefinisikan variabel lingkungan berikut di global sifat-sifat:
GIT_SSH_COMMAND="ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
Catatan: Jika anda don't melihat opsi ini, anda mungkin perlu EnvInject plugin untuk itu.