Untuk pelayan git yang dibina oleh syarikat anda, adakah setiap pembangun perlu meletakkan kunci SSH mereka pada pelayan?
淡淡烟草味
淡淡烟草味 2017-05-02 09:51:28
0
8
1044
  1. Seperti yang dinyatakan, syarikat telah menyediakan pelayan git sendiri Adakah kita perlu menambah kunci ssh setiap pembangun dalam syarikat?

  2. Jika anda mencipta gudang baharu pada pelayan git dan orang lain mahu menyerahkan kod tersebut, adakah mereka perlu menambah kunci ssh mereka sendiri?

  3. Mengapa saya tidak perlu menambahkan kunci ssh saya sendiri pada github orang lain apabila saya menyumbangkan kod ke gudang orang lain di github?

淡淡烟草味
淡淡烟草味

membalas semua(8)
左手右手慢动作

Kuil Kyomizudera?
Hantar saya ID Riverside anda.

<----------Garis pemisah antara patriotisme, dedikasi, integriti dan kemesraan---------->

1. 如题,公司自家搭了git服务器,是不是要把公司每个开发者的ssh key加进来?
2. 如果在git服务器上新建个仓库,其他人想向上提交代码,需要他们把自己的ssh key加进来么?
3. 为什么以前在github上向别人的仓库贡献代码时不用在别人的github上加自己的ssh key,团队其他小伙伴向我仓库贡献代码也没加过他们ssh key

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:

  1. 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.

  2. Tidak. Sama seperti 1.

  3. 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:

公司自家搭了git服务器,如果要每个人都能使用,是不是要把公司每个开发者的ssh key加进来?如果不需要,那么怎么搞才能让每个人都有权限登陆gitlab?

Jawapan:

  1. Tidak perlu

  2. 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.)

世界只因有你
  1. 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.

  2. Pengesahan adalah untuk pengguna, bukan untuk gudang. Keizinan hanya perlu untuk gudang (atau anda boleh tepat ke cawangan)

  3. 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.

滿天的星座
  1. Setiap akaun perlu menambah kunci ssh sendiri

  2. 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.

  3. 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

phpcn_u1582

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.

PHPzhong

Pelayan git umum mempunyai kebenaran pengurus projek mereka sendiri dan tiada kaitan dengan kuncinya hanya untuk menyahsijil

给我你的怀抱

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? >

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

Jika terdapat ramai orang dan anda tidak mahu menambah semua kunci ssh mereka (kunci awam), pelayan boleh menambahkan satu pada kumpulan, dan kemudian pembangun dalam kumpulan itu boleh menggunakan kunci peribadi biasa.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan