自己公司搭建的git服务器,是不是每个开发者都要把自己的SSH key放到服务器上?
淡淡烟草味
淡淡烟草味 2017-05-02 09:51:28
0
8
998
  1. 如题,公司自家搭了git服务器,是不是要把公司每个开发者的ssh key加进来?

  2. 如果在git服务器上新建个仓库,其他人想向上提交代码,需要他们把自己的ssh key加进来么?

  3. 为什么以前在github上向别人的仓库贡献代码时不用在别人的github上加自己的ssh key,团队其他小伙伴向我仓库贡献代码也没加过他们ssh key

淡淡烟草味
淡淡烟草味

全員に返信(8)
左手右手慢动作

清水寺?
あなたのリバーサイドIDを見せてください。

<----------愛国心、献身、誠実さと親しみやすさの境界線---------->

リーリー

サーバーは、パスワードなしのログイン、プッシュなどの一連の操作、または認証のために SSH 公開キーを保存します (接続するたびに認証用の秘密キーを提供する必要がありますが、このプロセスは可能です)わかりません)。

サーバーに公開鍵が保存されていない場合は、もちろん認証することもできます。あなたの質問に対する答えは簡単です:

  1. いいえ。 Git には、SSH と http という 2 つの送信プロトコルがあります。 SSH通信を利用するには、パスワードレスログイン(プッシュ操作など)のためにサーバーに公開鍵を追加する必要があります。 http(https)通信とnetrcの改変を利用することで、パスワード不要のログイン(プッシュ等)を実現します。

  2. いいえ。 1.と同じ

  3. 正常です、理由は1.と同じです

コメント欄の誰かが、http プロトコルを通じて git ウェアハウスを操作するのは私の想像によるものではないかと疑問を呈し、私はいくつかの写真を投稿しました。

ゴグです

gitlab

オシナ

github

kernel.org

git ソース コードは http

をサポートしています

<----------繁栄、強さ、民主主義、文明、調和の境界線----------->

もちろん、あなたの質問はおそらく別の質問です:

リーリー

答え:

  1. 必要ない

  2. ldap統合認証。

統合ログイン (認証) のコンポーネントの中で、LDAP は最も一般的に使用される認証サーバーです。 libpam、nslcd (Linux システムへのログイン)、sudo 権限、gitlab (gogs)、wiki、プロジェクト管理、teambition、さまざまなアクセス制御などを含む、さまざまな *nix システムにログインすると、次のようにさえ言えます。収集できるものはすべて 適用範囲(オープンソース)はグループ内のアプリケーションであり、基本的にLDAP統合ログインをサポートします。

<---------------自由、平等、正義、法の支配の境界線-----&gt ;

統合ログイン、基本的にすべての大規模な Web サイトが関係します。たとえば、github.com では gist.github.com にログインするために認証が必要です。詳細はgithubで隠蔽されているので外からは見えません。

しかし、必ず遭遇する必要があるものが 1 つあります。それは OAuth 認証です。たとえば、下の図: QQ が Kugou Music にログインします。

市場の統合認証のほとんどは OAuth プロトコルに従っており、Taabao.com と aliyun.com 間のアカウントとパスワードの交換など、多くは内部実装です。

内部システムの統合認証に関しては、別のプロトコルのセットである ldap です。

市販されているほぼすべての内部システムには、登録、ログイン、パスワードの取得などの独自の権限システムがありますが、同時に、ほぼすべてのシステムが別の権限システムである LDAP をサポートしています。

新しいユーザーが会社に来たとき、最初に gitlab にアカウントを登録し、次にサーバーにログインするときにキーをアップロードする必要があると想像してください。 2 番目のサーバーにログインするには、管理者は新しいアカウントの作成を支援する必要があります。さまざまなイントラネット システムにログインするには、管理者が新しいアカウントを作成するのを支援する必要があります...

したがって、次のプロジェクトには LDAP が必要です:

gitlab

ジェンキンス

LDAP を使用してホストに SSH 接続できるユーザーを一元管理する (構成チュートリアル):

gogs LDAP 認証:

他には見つかりません。teambition などのクローズド ソース アプリケーションを含め、企業内に導入できるすべてのアプリケーションは基本的に ldap 認証をサポートしていると言えます。

(SSO と統合認証に関する上記の説明は誤りであり、Evian からの注意を受けて修正されました。)

いいねを押す +0
世界只因有你
  1. はい。それ以外の場合、認証はどのように行うのでしょうか?もちろん、HTTPS を使用したり、車輪を再発明したりすることもできます。物事を複雑にするつもりがない場合は、最も一般的な ssh + キーを使用してログインする他に方法はありません。

  2. 認証はユーザーのためのものであり、倉庫のためのものではありません。承認は倉庫に対してのみ必要です (または正確に支店に対して行うこともできます)

  3. githubはすでにあなたが誰であるかを知っているため(認証は完了しています)。次に、そのウェアハウスの管理者にプッシュ権限を付与してもらうだけです。ただし、Github 上のコラボレーションの多くはプル リクエストを通じて行われ、管理者が 1 つずつ受け付けます。デフォルトでは、リポジトリ内の誰もがプル リクエストを送信する権利を持っています。

結論としては、gitlab または gitolite が必要です。前者は Web インターフェイス (GitHub など) を備えた Ruby で作成され、後者は Perl で作成され、ウェアハウス管理そのものです (Git ウェアハウスのみを管理し、インターフェイスはありません)。

認証は本人確認とも呼ばれ、ユーザーが誰であるかを識別するプロセスです。承認は、ユーザーが何かを行う権限を持っているかどうかを判断するプロセスです。それらは一つではありません。

いいねを押す +0
滿天的星座
  1. 各アカウントは独自の SSH キーを追加する必要があります

  2. 自分のアカウントに ssh キーが追加されました。コードを git サーバーに送信するために追加する必要はありませんが、プロジェクトに対する git 権限が必要です。

  3. GitHub にコードを投稿するときは、アカウントの ssh キーを追加する必要があります。追加しないとコードをプッシュできません。

要約すると、ssh + git のリモート コード送信方法は ssh プロトコルに基づいており、ローカル gitlab サーバー アカウントを持つ人は全員、パーソナル コンピューターの ssh キーを gitlab 上のアカウントに追加する必要があります。アカウントを確認してプッシュできます。さらに、gitlab 上のプロジェクトには、ゲスト、レポーター、開発者、マスターの役割が設定されている必要があります。
最後に、同じコンピューター上で github と gitlab の ssh キーを同時に構成したい場合は、「1 つのコンピューターで複数の git アカウントの複数の rsa キーを保存する」を参照してください。

いいねを押す +0
phpcn_u1582

これが私たちの会社の仕組みです。ローカルの SSH キーをサーバーにアップロードすると、git をプッシュできます

いいねを押す +0
巴扎黑

git のみを直接インストールする場合、または gitweb もインストールする場合は、適切な権限制御を実現できません。
サーバーに gogs をインストールし、それを使用して権限を制御できます。
権限はマシンではなく人間に対して与えられるべきであるため、ssh キーを使用することはお勧めできません。

いいねを押す +0
曾经蜡笔没有小新

認証を達成するため。

いいねを押す +0
PHPzhong

一般的な git サーバーには、独自のプロジェクト管理担当者の権限があります。これはキーとは何の関係もありません。キーは認証を解除することだけです。

いいねを押す +0
给我你的怀抱

タイトルにあるように、会社は独自の git サーバーをセットアップしていますが、社内の各開発者の ssh キーを追加する必要がありますか?
Git サーバー上に新しいウェアハウスを作成し、他の人がコードを送信したい場合、独自の SSH キーを追加する必要がありますか?

私が github 上の他の人のウェアハウスにコードを寄稿したときに、自分の ssh キーを他の人の github に追加する必要がなかったのはなぜですか? 他のチーム メンバーが私のウェアハウスにコードを寄稿したとき、彼らも自分の ssh キーを追加しませんでした。 .

サーバーが使用するソフトウェアによって異なります。他の人のコード リポジトリにコードを提供するには、GitHub でフォークが必要であり、その後、GitHub によって認証が行われます。
コードを github に送信するときに、すでに ssh キーを指定しています。

2 番目の質問は状況によって異なります

ユーザーが多く、すべての SSH キー (公開キー) を追加したくない場合は、サーバーが 1 つをグループに追加し、グループ内の開発者が共通の秘密キーを使用できます。 。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!