web-dev-qa-db-ja.com

GitLab gitユーザーパスワード

GitLabをインストールしました。

Project-xというプロジェクトを作成しました。

私は少数のユーザーを作成し、プロジェクトに割り当てました。

今、私はクローンを作成しようとしました:

 git clone [email protected]:project-x.git

パスワードの入力を求められました。

どのパスワードを使用すればよいですか?

38
Alvin

パスワードの入力を求められました。

すべきではありません。
project-xへのアクセスを許可されたユーザーを表す正しい公開/秘密キーがある場合、gitlabは何も要求しません。

ただし、ssh -vT [email protected]が最初に機能していると仮定します。

28
VonC

現在のシナリオと厳密には関係ありません。パスワードの入力を求められたときに、間違った* Origin形式(SSHではなくHTTPS)を追加したことが原因である場合があります

でリモート情報を表示

git remote -v

HTTP(S)アドレスの場合、これはSSHに変更するコマンドです。

git remote set-url Origin [email protected]_domain.com/example-project.git

HTTP(S)プロトコルは、強力なユーザー名+パスを使用した公開リポジトリに一般的に使用されます
SSH認証は、ssh-key-fileと単純なパスフレーズで認証できる内部プロジェクトでより一般的です
GitLabユーザーはSSHプロトコルを使用する可能性が高い

33
d.raev

https://github.com/gitlabhq/gitlab-Shell/issues/46 からのソリューションは私のために働いた。

許可を設定することにより:

chmod 700 /home/git/.ssh
chmod 600 /home/git/.ssh/authorized_keys

パスワードプロンプトが消えます。

12
mawl

4096ビットのキーを使用すると、この同じ問題が発生しました。

$ ssh-keygen -t rsa -C "GitLab" -b 4096
$ ssh -vT git @ gitlabhost
...
debug1:提供する公開鍵:/home/user/.ssh/id_rsa
debug1:継続できる認証:publickey、password
debug1:秘密鍵の試行:/home/user/.ssh/id_dsa
debug1:秘密鍵の試行:/home/user/.ssh/id_ecdsa
debug1:次の認証方法:パスワード
git @ gitlabhostのパスワード:
ホストによって接続が閉じられました

ただし、2048ビットキー(デフォルトサイズ)を使用すると、sshはパスワードを要求せずにgitlabに接続します(新しいpubキーをユーザーのgitlab sshキーに追加した後)

$ ssh-keygen -t rsa -C "GitLab"
$ ssh -vT git @ gitlabhost
ジョーユーザーのGitLabへようこそ!

4
Ted C

これは、ホストの名前に「-」が含まれている場合に発生する可能性があります。 (ただし、これは RFC 952 に従って正当です。)(git 2.13.2を使用してWindows 10でGit Bashを使用してテストしました。)

sshは、名前に「-」が含まれているホストのパスワードを要求します。 〜/ .ssh/configにエイリアスを追加することで(そしてgitリモートURLでそのエイリアスを使用することで)問題が解決したため、これは純粋にssh構成ファイルの解析の問題のようです。

つまり、次のようなものをC:/ Users/{username} /。ssh/configに入れてみてください

Host {a}
    User git
    Hostname {a-b.domain}
    IdentityFile C:/Users/{username}/.ssh/id_rsa

そしてあなたがフォームのリモコンを持っている場所

Origin  [email protected]:repo-name.git

次の形式を使用するようにURLを変更します

git remote set-url Origin git@a:repo-name.git
3
SensorSmith

リストにさらに別の理由を追加するために...私の場合、この問題はサーバー上のSELinuxパーミッションの問題が原因であることがわかりました。サーバーがFedora/CentOS/Red Hatを実行しているかどうかを確認する価値があります。このシナリオをテストするには、次を実行できます。

クライアント:ssh -vT git@<gitlab-server>-パスワードを要求します
サーバーSudo setenforce 0
クライアント:ssh -vT git@<gitlab-server>-成功
サーバーSudo setenforce 1

私の場合、gitlab/gitユーザーのauthorized_keysファイルには間違ったSELinuxファイルコンテキストがあり、sshサービスはそれを読み取る権限を拒否されていました。これをサーバー側で次のように修正しました。

Sudo semanage fcontext -a -t ssh_home_t /gitlab/.ssh/
Sudo semanage fcontext -a -t ssh_home_t /gitlab/.ssh/authorized_keys
Sudo restorecon -F -Rv /gitlab/.ssh/

そして、期待どおりにクライアント側でgit cloneすることができました。

2
foz

mac.gitlabがcentosサーバーにインストールされています。

上記のすべての方法を試してみたところ、最終的な答えが見つかりました。

違う:

ssh-keygen -t rsa

右:

 ssh-keygen -t rsa -C "[email protected]" -b 4096
1
zxhralf

私の場合、デフォルトの名前id_rsaid_rsa.pubを持たないキーのペアを使用していました。

これらの名前のキーを生成することで問題が解決し、実際にssh -vT my_gitlab_addressの出力を見ているとわかりました。奇妙な事実:Ubuntuを搭載した1台のコンピューターで動作しましたが、異なるディストリビューションや古いバージョンのOpenSSHを搭載した他のコンピューターでは動作しませんでした。

1
MakisH

VS Codeで端末を使用しているWindows 10では、「git @ gitlab's password:」のプロンプトが表示されました。

git Push -u Origin --all

Windowsとgitlabでssh認証情報を確立しましたが、Windows 10 bash key-genを使用してこれを行いました。解決策は、VSコードターミナルでbashを呼び出してから、コマンドを再度発行することでした。

bash
git Push -u Origin --all

成功しました。

Bash/gitを手動で使用する必要を回避するために、Windows .ssh/id_rsaとbash Shell .ssh/id_rsaの間にシンボリックリンクを配置します。

C:\Users\bruce\.ssh>mklink id_rsa C:\Users\bruce\AppData\Local\lxss\home\bruce\.ssh\id_rsa

VS Code Gitメニューアクション(プッシュ、プルなど)がgitlabで機能するようになりました

1
Bruce

Windowsマシンの同じソリューション:

  1. SSHキーを生成し、Gitラボサーバーにキーを追加します
  2. 2つのSSHキーファイルが/.sshフォルダーにあることを確認します(例:C:\ Users\xxx.ssh)

パスワードを要求せずにクローンが成功するはずです。

1
Vu Nguyen

私は正しい公開/秘密鍵を持っていましたが、とにかく機能しないように見えました(同じエラーが発生し、git-userパスワードの入力を求められました)。しかし、コンピューターを再起動した後はうまくいきました!

1
Anigif

私の問題は、ロードバランサーを指すgitlab.example.comのdnsエントリがあったことです。だから、ssh [email protected]を試みたとき、私は本当に間違ったマシンにsshしていました。

~/.ssh/configファイルにエントリを作成しました。

Host gitlab.example.com
    Hostname 192.168.1.50

それは多くの時間を無駄にしました...

1
Kurt

key.pubのコンテンツをGitLabにアップロードしたことが確実な場合:1- Git Bashを開く "CMDではない" 2-ソリューションフォルダーを参照する "CDパス" 3-タイプGit Init 4-タイプGit Add . 4-タイプGit Commit 6- Git Pushと入力

そして、それは動作します..別のヒント:キーをコピーしたファイルのパスが正しいことを確認してください

0
theK

通常、システムでsshを介して複数のキーをセットアップしている場合(私のデバイスはWindows 10を実行しています)、この問題が発生する可能性があります。修正は次のとおりです。

前提条件:GitLabの指示に従ってSSHキーをセットアップします

  1. notepad ++またはお好みのエディターで/c/Users//.ssh/configファイルを開きます
  2. その中に以下を貼り付けます。 Host IdentityFile〜/ .ssh /

2行目の前にスペースがあることに注意してください。このソリューションが機能しないことを避けるために非常に重要です。

0

Windows 10マシンでは、SSH_GIT環境変数が、マシンにインストールしたPuTTY plinkを使用するように設定されていなかったためです。

0
Alex

Windows 10でも同じ問題が発生しました(これが関連するかどうかわかりません)。すべてが正しくセットアップされていれば、ssh -vT git@myserverコマンドは成功しましたが、Gitlabはまだパスワードを要求しました。

Gitlabでキーを削除してから再作成することは、私にとってのトリックでした。

0
Julien

私は同じ問題を抱えていて、検索に多くの時間を費やしました!

Eclipseを使用してGitLabからプロジェクトをインポートするというアイデアがありました。

プロジェクトが正しくインポートされたら、次の構成を比較しました。

  • eclispeにインポートしたプロジェクトのGitリポジトリー(「in Eclipse」、Gitリポジトリー、myprojectRepo/Working Directory/.git/config)
  • .git/configで作成されたもの、そこにgitでプロジェクトをプッシュしたい:git Push ...とパスワードの入力を求められました。

サプライズ:両方のケースでリモートに同じものはありません。私はEclipseのそれと同じものを渡し、すべてが動作します。

0
Softeng.mf