個人的なまとめ。

てきとーに何か書きます。

Gitlabで出るエラーに悩まされてた。

研究室用に余っていたPCを使ってGitサーバーを建てた。
今回は、フリーで使用できるGitlabを使用した。


建て方は、このサイトを参考にした。
orebibou.com


構築に関しては特に問題なく進む事が出来た。

しかし、プロジェクトを作成してクローンをする所でエラーが出た。



良く出ていたエラー:

ssh: Could not resolve hostname hogehoge: Name or service not known
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.

や、

The authenticity of host '***.***.**.***' can't be established.
ECDSA key fingerprint is **:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:.
Are you sure you want to continue connecting (yes/no)? yes
Failed to add the host to the list of known hosts (/home/hogehoge/.ssh/known_hosts).
Agent admitted failure to sign using the key.


Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.

がよく出ていました。

改善策:

まず、新規プロジェクトを作成する所までは問題なく出来ると思います。
作成後に、このような物が画面に表示されていると思います。
f:id:kosuke128:20170728221333p:plain

ここで、赤で囲んである所は、サーバーを建てた時のユーザー名
黒で囲んである所は、Gitlabに登録したユーザー名です。

色々なサイトを見ると、

git clone git@SERVER_NAME:GITLAB_NAME/test.git

でいける等という風に書いていますが、上記のようなエラーが出る場合は、そこに書いてある文をそのまま使用するのではなく、

git clone git@192.168.1.0:GITLAB_NAME/test.git

のように、IPアドレスを指定してあげる必要があります。
その際に指定するIPアドレスは、GitlabのサーバーのIPアドレスです。


もし、それでもエラーが出る場合は、sshの鍵を作りなおしましょう。

Gitlab→Setting→SSH Keysと進み、そこに書いてある

ssh-keygen -t rsa -C "your.email@example.com" -b 4096

を端末で実行をし、

cat ~/.ssh/id_rsa.pub

を実行し、表示されたコードを全てコピーして、SSH Keysの[Key]内に張り付け、[Add Key]を押して登録をします。

次に、端末上で

ssh-add ~/.ssh/id_rsa

を実行します。


これで再度、

git clone git@192.168.1.0:GITLAB_NAME/test.git

を実行すると無事、クローンできるはずです。

追記 2018/08/07
もし、サーバー上でGitlabが起動しているのに、ブラウザでアクセスできない場合は、Firewallとかiptables周りが悪さをしている可能性が高いです。

一度設定を見なおしてみると良いと思います。
ローカル上に設置して外部に接続していない場合であれば、一旦確認のためにiptablesやfirewalldをstopして、原因を探るのが手っ取り早いかと思います。