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.
がよく出ていました。
改善策:
まず、新規プロジェクトを作成する所までは問題なく出来ると思います。
作成後に、このような物が画面に表示されていると思います。
ここで、赤で囲んである所は、サーバーを建てた時のユーザー名
黒で囲んである所は、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して、原因を探るのが手っ取り早いかと思います。