Seperti yang dinyatakan, syarikat telah menyediakan pelayan git sendiri Adakah kita perlu menambah kunci ssh setiap pembangun dalam syarikat?
Jika anda mencipta gudang baharu pada pelayan git dan orang lain mahu menyerahkan kod tersebut, adakah mereka perlu menambah kunci ssh mereka sendiri?
Mengapa saya tidak perlu menambahkan kunci ssh saya sendiri pada github orang lain apabila saya menyumbangkan kod ke gudang orang lain di github?
Kuil Kyomizudera?
Hantar saya ID Riverside anda.
<----------Garis pemisah antara patriotisme, dedikasi, integriti dan kemesraan---------->
Pelayan menyimpan kunci awam SSH hanya untuk log masuk tanpa kata laluan, tolak dan siri operasi lain, atau untuk pengesahan (anda perlu memberikan kunci peribadi anda untuk pengesahan setiap kali anda menyambung, walaupun proses ini memerlukan anda tidak boleh dilihat).
Jika pelayan tidak menyimpan kunci awam, sudah tentu ia juga boleh disahkan. Maka jawapan kepada soalan anda adalah mudah:
Tidak. Git mempunyai dua protokol penghantaran, SSH dan http. Untuk menggunakan penghantaran SSH, anda perlu menambah kunci awam pada pelayan untuk log masuk tanpa kata laluan (operasi tolak, dsb.). Menggunakan penghantaran http (https) dan mengubah suai netrc, log masuk tanpa kata laluan (tolak dan operasi lain) boleh dicapai.
Tidak. Sama seperti 1.
Biasalah, sebabnya sama dengan 1.
Seseorang di kawasan komen mempersoalkan sama ada imaginasi saya sendiri untuk mengendalikan gudang git melalui protokol http saya menyiarkan beberapa gambar:
Ini adalah gog
gitlab
oschina
github
kernel.org
Kod sumber Git menyokong http
<-----------Garis pemisah antara kemakmuran, kekuatan, demokrasi, tamadun dan keharmonian----------->
Sudah tentu soalan anda kemungkinan besar soalan lain:
Jawapan:
Tidak perlu
pengesahan bersatu ldap.
Antara komponen log masuk bersatu (pengesahan), ldap ialah pelayan pengesahan yang paling biasa digunakan. Sebaik sahaja anda log masuk ke pelbagai sistem *nix, termasuk libpam, nslcd (log masuk ke sistem Linux), kebenaran sudo, gitlab (gogs), wiki, pengurusan projek, tembisi, pelbagai kawalan akses, dsb., malah boleh dikatakan bahawa semua yang anda boleh kumpulkan Skop aplikasi (sumber terbuka) ialah aplikasi dalaman dalam kumpulan, dan ia pada asasnya menyokong log masuk bersatu ldap.
<-------------Garis pemisah antara kebebasan, kesaksamaan, keadilan dan kedaulatan undang-undang ----- -------->
Log masuk bersatu akan terlibat dalam tapak web yang pada dasarnya lebih besar Contohnya, github.com memerlukan pengesahan untuk log masuk ke gist.github.com. Butiran disembunyikan oleh github supaya anda tidak dapat melihatnya dari luar.
Tetapi ada satu perkara yang anda mesti temui: pengesahan OAuth. Contohnya, gambar di bawah: QQ log masuk ke Kugou Music.
Kebanyakan pengesahan bersatu di pasaran mengikut protokol OAuth, dan kebanyakannya adalah pelaksanaan dalaman, seperti pertukaran akaun dan kata laluan antara Taobao.com dan aliyun.com.
Bagi pengesahan bersatu sistem dalaman, ia adalah satu lagi set protokol: ldap.
Hampir semua sistem dalaman di pasaran mempunyai sistem kebenaran mereka sendiri, termasuk: pendaftaran, log masuk dan mendapatkan kata laluan, tetapi pada masa yang sama, hampir kesemuanya menyokong sistem kebenaran lain: LDAP.
Bayangkan apabila pengguna baharu datang ke syarikat, dia perlu mendaftar akaun di gitlab dahulu, dan kemudian memuat naik kunci Apabila log masuk ke pelayan, dia memerlukan bantuan pentadbir untuk membuat akaun baharu masuk ke pelayan kedua, dia memerlukan bantuan pentadbir untuk membuat akaun baharu dan log masuk. Pelbagai sistem intranet memerlukan bantuan pentadbir untuk membuat akaun baharu...
Jadi, projek berikut memerlukan LDAP:
gitlab
jenkins
Gunakan ldap untuk mengurus pengguna secara seragam yang boleh ssh ke hos (tutorial konfigurasi):
pengesahan ldap gogs:
Saya tidak akan mencari apa-apa lagi. Boleh dikatakan semua aplikasi yang boleh digunakan dalam perusahaan, termasuk aplikasi sumber tertutup seperti tembisi, pada asasnya menyokong pengesahan ldap.
(Perihalan SSO dan pengesahan bersatu di atas adalah tidak betul dan telah diubah suai selepas diingatkan oleh Evian.)
Ya. Jika tidak, bagaimana anda melakukan pengesahan? Sudah tentu anda boleh menggunakan HTTPS, atau mencipta semula roda. Jika anda tidak bercadang untuk merumitkan perkara, tidak ada cara lain untuk log masuk menggunakan kekunci ssh + yang paling konvensional.
Pengesahan adalah untuk pengguna, bukan untuk gudang. Keizinan hanya perlu untuk gudang (atau anda boleh tepat ke cawangan)
Kerana github sudah mengetahui siapa anda (pengesahan selesai). Seterusnya, hanya perlukan pentadbir gudang itu untuk memberi anda kebenaran menolak. Walau bagaimanapun, banyak kerjasama di Github adalah melalui permintaan tarik, yang diterima oleh pentadbir satu demi satu. Secara lalai, sesiapa sahaja dalam repositori mempunyai hak untuk menyerahkan permintaan tarik.
Kesimpulan anda memerlukan gitlab, atau gitolite. Yang pertama ditulis dalam Ruby dengan antara muka web (seperti GitHub), dan yang terakhir ditulis dalam Perl dan hanya pengurusan gudang itu sendiri (hanya menguruskan gudang git, tiada antara muka).
Pengesahan, juga dipanggil pengesahan identiti, ialah proses mengenal pasti siapa pengguna. Kebenaran ialah proses menentukan sama ada pengguna mempunyai kuasa untuk melakukan sesuatu. Mereka bukan satu.
Setiap akaun perlu menambah kunci ssh sendiri
Kunci ssh telah ditambahkan pada akaun anda sendiri Anda tidak perlu menambahkannya untuk menyerahkan kod ke pelayan git, tetapi anda perlu mempunyai kebenaran git untuk projek itu.
Apabila anda menyumbang kod pada github, anda mesti telah menambahkan kunci ssh akaun anda, jika tidak, anda tidak boleh menolak kod tersebut.
Ringkasnya, kaedah penyerahan kod jauh ssh + git adalah berdasarkan protokol ssh Setiap orang yang mempunyai akaun pelayan gitlab tempatan perlu menambah kunci ssh komputer peribadi ke akaun di gitlab, supaya dapat. sahkan Akaun untuk orang mengklon dan menolak. Selain itu, projek di gitlab perlu menetapkan kebenaran Projek persendirian mempunyai peranan berikut: Tetamu, Pelapor, Pembangun, Master.
Akhir sekali, jika anda ingin mengkonfigurasi kekunci ssh github dan gitlab pada masa yang sama pada komputer yang sama, anda boleh merujuk kepada Satu komputer untuk menyimpan berbilang kunci rsa untuk berbilang akaun git
Beginilah cara syarikat kami berfungsi Anda boleh menolak git dengan memuat naik kunci ssh tempatan ke pelayan
Jika anda hanya memasang git secara terus, atau juga memasang gitweb, ini tidak dapat mencapai kawalan kebenaran yang baik.
Anda boleh memasang gog pada pelayan dan menggunakannya untuk mengawal kebenaran.
Tidak disyorkan untuk menggunakan kunci ssh kerana kebenaran harus untuk orang, bukan mesin.
Untuk mencapai pengesahan.
Pelayan git umum mempunyai kebenaran pengurus projek mereka sendiri dan tiada kaitan dengan kuncinya hanya untuk menyahsijil
Mengapa saya tidak perlu menambahkan kunci ssh saya sendiri pada github orang lain apabila saya menyumbangkan kod ke gudang orang lain di github? >
Ia bergantung pada perisian yang anda gunakan pada pelayan anda. Menyumbang kod kepada repositori kod orang lain melalui Github memerlukan garpu dan kemudiannya Persijilan dilakukan oleh Github.Apabila anda menyerahkan kod ke github, anda telah memberikan kunci ssh.
Soalan kedua bergantung