Saya mengalami masalah dengan Gitlab. Saya menggunakan panduan berikut untuk menginstal dan mengkonfigurasi Gitlab https://github.com/gitlabhq/gitlab-recipes/blob/master/install/centos/README.md . Instalasi sepertinya berjalan dengan baik dan semua. Aplikasi web tampaknya berfungsi dengan baik. Namun saya tidak dapat mengkloning, menarik, mendorong, pada dasarnya saya pada dasarnya tidak dapat menggunakan Gitlab. Saya telah melihat 403 kesalahan dengan HTTP dan izin ditolak ketika mencoba untuk mengkloning SSH.
Saya telah memastikan kunci pribadi saya diatur dengan benar pada Windows dan OS X. Saya dapat melihat kunci publik di server. Saya menambahkan berikut ini ke file konfigurasi saya di ~ / .ssh.config
Host {hostname}
User git
Hostname {hostname}
PreferredAuthentications publickey
IdentityFile C:/Users/{username}/.ssh/id_rsa
Ini yang saya lihat di / var / log / secure
Jan 14 17:31:48 dev_version_control sshd[3696]: Connection closed by 192.168.17.113
Jan 14 17:32:18 dev_version_control sshd[3700]: Connection closed by 192.168.17.113
The /var/log/message
tidak berperan ketika saya mencoba menggunakan git atau ssh
Saya tidak yakin ke mana harus pergi dari sini. Ada saran?
Saya tidak tahu apa yang Anda maksud dengan SSH menggunakan nama pengguna git. Panduan yang saya gunakan tidak membuat kata sandi untuk pengguna git dan menyatakan bahwa pengguna tidak dapat digunakan untuk masuk.
Jawaban:
Asalkan Anda telah memuat kunci pribadi Anda pada klien Anda, maka sepertinya ini mungkin menjadi masalah izin pada direktori home pengguna 'git' dan direktori .ssh.
Silakan coba ubah direktori / home / git Anda menjadi mask 0711:
Pastikan direktori /home/git/.ssh memiliki topeng 0700:
Pastikan file /home/git/.ssh/authorized_keys memiliki mask 0600:
Ganti / home / git dengan direktori home Anda untuk pengguna 'git', jika berbeda dalam tutorial. Jika ini bukan izin, silakan beri komentar dan kami akan melihat apa lagi masalahnya.
sumber
https://username:[email protected]/repo.git
)Pastikan Anda hanya memiliki satu catatan untuk kunci publik Anda (yang diimpor melalui wajah web)
/home/git/.ssh/authorized_keys
dan kunci ini memiliki awalan dan judul gitlab. Dengan kata lain, jika Anda telah menambahkan kunci yang sama secara manual sebelum menginstal gitlab kemudian hapus.sumber
Saya juga merekomendasikan untuk memeriksa bahwa pengguna memiliki izin yang tepat untuk mengkloning / menarik / mendorong gitlab. Saya baru saja menghabiskan terlalu banyak waktu melihat melalui konfigurasi ssh / https, ketika alasan masalahnya adalah pengguna di gitlab tidak memiliki cukup izin ...
sumber
Dalam situasi saya, saya menginstal gitlab melalui paket FreeBSD. Gitlab SSH tidak bekerja. Penyebabnya adalah direktori home yang salah untuk git: (vipw)
Saya mengubah ini menjadi:
sumber
Ini dapat terjadi jika host memiliki '-' dalam namanya. (Meskipun ini legal menurut RFC 952. )
ssh meminta saya untuk kata sandi untuk semua host yang kebetulan memiliki '-' dalam namanya. Ini tampaknya murni masalah dengan parsing file konfigurasi ssh karena menambahkan alias ke ~ / .ssh / config (dan menggunakan alias itu di url remote git saya) menyelesaikan masalah.
Dengan kata lain coba masukkan sesuatu seperti yang berikut ini di C Anda: / Users / {username} /. Ssh / config
dan di mana Anda memiliki formulir remote
hapus dan tambahkan kembali menggunakan formulir
sumber
Jika Anda menggunakan variabel lingkungan untuk meneruskan kunci, Anda harus base64 menyandikannya, jika tidak mereka mungkin gagal dengan kesalahan meminta frasa sandi Anda. Ini berarti bahwa kuncinya rusak. Jika kamu melihat:
Kemudian base64 mengkodekan variabel SSH_PRIVATE_KEY. Jika Anda menggunakan OS X,
akan menyandikannya dan menyalinnya ke clipboard Anda. Sekarang, ubah baris skrip .gitlab-ci.yml menjadi
sumber
Menjalankan
eval $(ssh-agent)
memperbaiki masalah saya.sumber
Masalah saya adalah file kunci pribadi id_rsa dibuat dan disimpan oleh puttygen memiliki format yang berbeda dari yang dibuat dari mesin ubuntu. Setelah saya membuat kunci pasangan dari mesin ubuntu, salin file-file ini kembali ke mesin Windows di bawah folder% UserProfile% .ssh, kemudian tambahkan kunci publik yang baru dihasilkan ke Gitlab. Tidak ada lagi Izin yang Ditolak untuk saya
sumber