[해결됨] GitLab 13.4.4에서 13.5.0으로 업그레이드하여 git pull이 SSH 키 인증으로 오류가 발생했습니다.
6468 단어 GitLab
본 기사는 개인적인 견해이며, 필자가 소속하는 어떠한 단체에도 관계가 없습니다.
0. GitLab 서버에 git pull로 오류가 발생합니다.
어느 아침 일이었다, 사내의 메시지로 이런 문의가 왔다
今回のGitLabバージョンアップの影響かどうかがわからないのですが、
TortoiseGitを使ってpullすると、添付のエラーが出ます。。。
同じ事象が出ているのは私とK君のみで、他のメンバーはSourceTreeを使っている影響から、正常にpullできているようです。
また、エラーをもとに調べても、これといった明確な原因が出てこず。。。
恐れ入りますが、こちら、ご確認をお願いします
확실히 아침 일찍 GitLab 13.5로의 버전 업이 걸려 있었을 것이다.
이 버전 업의 영향 가능성이 높다. 나는 조사를 시작했다.
1. 현상 확인
우선, 나도 git 커멘드를 시험해보기로 했다. 라고 하는 것도 요전날, GitLab에 제휴하고 있는 LDAP 서버가 장해가 되어, git pull 할 수 없었기 때문이다. 어쩌면 또 LDAP 서버의 결함일지도 모른다.
$ git pull
remote:
remote: ========================================================================
remote:
remote: Internal API unreachable
remote:
remote: ========================================================================
remote:
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
이상한 오류였습니다.
SSH 키 증명서를 사용해 pull했을 경우의 에러이므로, ID/PW를 사용해 https://로 연결한 경우도 확인해 보았다.
$ git pull
Username for 'https://gitlab.example.co.jp': hogehogehoge
Password for 'https://[email protected]':
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 4 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (4/4), done.
From https://gitlab.example.co.jp/foobar/bazbazbaz
9d604c2..f3a86a8 master -> origin/master
Updating 9d604c2..f3a86a8
Fast-forward
문제없이 지나갈 것 같다. .
2. GitLab 로그 확인
GitLab은 Rails로 만들어졌으므로 Rails의 production.log를 확인하십시오.# less /var/log/gitlab/gitlab-rails/production_json.log
겉보기에 문제가 없는 것처럼 보이지만, 이하의 에러가 깜박거리는 것 같다.
/var/log/gitlab/gitlab-rails/production_json.logFilter chain halted as :authenticate_user rendered or redirected
Completed 401 Unauthorized in 15ms (Views: 0.6ms | ActiveRecord: 2.4ms | Elasticsearch: 0.0ms | Allocations: 3263)
3. GitLab 13.5 릴리스를 살펴보십시오
GitLab 13.5 released with Mobile App Sec, Group Wikis, and more! | GitLab
htps // 아보 t. 기 t b. 코 m/레아아세 s/2020/10/22/기 tぁb-13-5-레아세 d/
아래쪽에는 다음과 같은 메시지가 적혀 있었다.
하나는, /var/opt/gitlab/git-data/repositories
의 퍼미션의 이야기로, 다른 하나는 workhose의 소켓 파일의 장소가 바뀐 것 같다. 만약, workhorse의 Socket이 에러라고 하면 패스워드 인증에서도 에러가 될 것. 그렇다면 디렉토리 권한 문제일까요?
4. 업데이트 시 로그를 살펴보기
자동 업데이트 로그는 이메일로 날아 왔으므로 살펴보십시오.
[0m * link[Link /opt/gitlab/embedded/service/gitlab-shell/config.yml to /var/opt/gitlab/gitlab-shell/config.yml] action create (up to date)
[0m * link[/opt/gitlab/embedded/service/gitlab-shell/.gitlab_shell_secret] action create (up to date)
* file[/var/opt/gitlab/.ssh/authorized_keys] action create_if_missing (up to date)
Recipe: gitlab::gitlab-rails[0m
* storage_directory[/var/opt/gitlab/git-data] action create
* ruby_block[directory resource: /var/opt/gitlab/git-data] action run (skipped due to not_if)
(up to date)
* storage_directory[/var/opt/gitlab/git-data/repositories] action create
* ruby_block[directory resource: /var/opt/gitlab/git-data/repositories] action run
[0m
================================================================================[0m
[31mError executing action `run` on resource 'ruby_block[directory resource: /var/opt/gitlab/git-data/repositories]'[0m
================================================================================[0m
[0m Mixlib::ShellOut::ShellCommandFailed[0m
------------------------------------[0m
Failed asserting that mode permissions on "/var/opt/gitlab/git-data/repositories" is 2770
[0m ---- Begin output of set -x && [ "$(stat --printf='%04a' $(readlink -f /var/opt/gitlab/git-data/repositories) | grep -o '....$')" = '2770' ] ----
/var/opt/gitlab/git-data/repositories
의 허가의 말이 정답인 것 같다.
5. 추측
즉, GitLab을 13.4.4에서 Gitlab 13.5로 버전 업그레이드 할 때
sudo gitlab-ctl reconfigure
했지만, /var/opt/gitlab/git-data/repositories
의 허가를 변경할 수 없고 중도 반단으로 업그레이드 되고 있는 것은 아닐까?
확실히 /var/opt/gitlab/git-data/repositories
디렉토리가 02770 이 아닌 것 같다.
root@gitlab:/var/opt/gitlab/git-data# ls -la
合計 8
drwx------ 3 git root 26 3月 27 2017 .
drwxr-xr-x 24 root root 4096 10月 23 02:53 ..
drwxrwx--- 89 git git 4096 10月 23 04:19 repositories
6. 수정
권한 수정
chmod 02770 /var/opt/gitlab/git-data/repositories
ls -la /var/opt/gitlab/git-data/
수정 확인
끈적끈적한 비트가 서 있었다.
좋아 보이기 때문에 재구성
sudo gitlab-ctl reconfigure
reconfigure가 통과했는지 확인하고 다시 업데이트하여 GitLab 13.5.1로 설정
7. git pull이 통과하는지 확인
문제 없음
8. 정리
관리하고 있는 GitLab의 2대 중 1대만 이 문제가 되었으므로, 모든 서버에서 일어나는 것은 아닐 것 같다.
omnibus 설치 버전에 의한 것일지도.
Reference
이 문제에 관하여([해결됨] GitLab 13.4.4에서 13.5.0으로 업그레이드하여 git pull이 SSH 키 인증으로 오류가 발생했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ynott/items/1f68c379a42cfef59bba
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
今回のGitLabバージョンアップの影響かどうかがわからないのですが、
TortoiseGitを使ってpullすると、添付のエラーが出ます。。。
同じ事象が出ているのは私とK君のみで、他のメンバーはSourceTreeを使っている影響から、正常にpullできているようです。
また、エラーをもとに調べても、これといった明確な原因が出てこず。。。
恐れ入りますが、こちら、ご確認をお願いします
우선, 나도 git 커멘드를 시험해보기로 했다. 라고 하는 것도 요전날, GitLab에 제휴하고 있는 LDAP 서버가 장해가 되어, git pull 할 수 없었기 때문이다. 어쩌면 또 LDAP 서버의 결함일지도 모른다.
$ git pull
remote:
remote: ========================================================================
remote:
remote: Internal API unreachable
remote:
remote: ========================================================================
remote:
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
이상한 오류였습니다.
SSH 키 증명서를 사용해 pull했을 경우의 에러이므로, ID/PW를 사용해 https://로 연결한 경우도 확인해 보았다.
$ git pull
Username for 'https://gitlab.example.co.jp': hogehogehoge
Password for 'https://[email protected]':
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 4 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (4/4), done.
From https://gitlab.example.co.jp/foobar/bazbazbaz
9d604c2..f3a86a8 master -> origin/master
Updating 9d604c2..f3a86a8
Fast-forward
문제없이 지나갈 것 같다. .
2. GitLab 로그 확인
GitLab은 Rails로 만들어졌으므로 Rails의 production.log를 확인하십시오.# less /var/log/gitlab/gitlab-rails/production_json.log
겉보기에 문제가 없는 것처럼 보이지만, 이하의 에러가 깜박거리는 것 같다.
/var/log/gitlab/gitlab-rails/production_json.logFilter chain halted as :authenticate_user rendered or redirected
Completed 401 Unauthorized in 15ms (Views: 0.6ms | ActiveRecord: 2.4ms | Elasticsearch: 0.0ms | Allocations: 3263)
3. GitLab 13.5 릴리스를 살펴보십시오
GitLab 13.5 released with Mobile App Sec, Group Wikis, and more! | GitLab
htps // 아보 t. 기 t b. 코 m/레아아세 s/2020/10/22/기 tぁb-13-5-레아세 d/
아래쪽에는 다음과 같은 메시지가 적혀 있었다.
하나는, /var/opt/gitlab/git-data/repositories
의 퍼미션의 이야기로, 다른 하나는 workhose의 소켓 파일의 장소가 바뀐 것 같다. 만약, workhorse의 Socket이 에러라고 하면 패스워드 인증에서도 에러가 될 것. 그렇다면 디렉토리 권한 문제일까요?
4. 업데이트 시 로그를 살펴보기
자동 업데이트 로그는 이메일로 날아 왔으므로 살펴보십시오.
[0m * link[Link /opt/gitlab/embedded/service/gitlab-shell/config.yml to /var/opt/gitlab/gitlab-shell/config.yml] action create (up to date)
[0m * link[/opt/gitlab/embedded/service/gitlab-shell/.gitlab_shell_secret] action create (up to date)
* file[/var/opt/gitlab/.ssh/authorized_keys] action create_if_missing (up to date)
Recipe: gitlab::gitlab-rails[0m
* storage_directory[/var/opt/gitlab/git-data] action create
* ruby_block[directory resource: /var/opt/gitlab/git-data] action run (skipped due to not_if)
(up to date)
* storage_directory[/var/opt/gitlab/git-data/repositories] action create
* ruby_block[directory resource: /var/opt/gitlab/git-data/repositories] action run
[0m
================================================================================[0m
[31mError executing action `run` on resource 'ruby_block[directory resource: /var/opt/gitlab/git-data/repositories]'[0m
================================================================================[0m
[0m Mixlib::ShellOut::ShellCommandFailed[0m
------------------------------------[0m
Failed asserting that mode permissions on "/var/opt/gitlab/git-data/repositories" is 2770
[0m ---- Begin output of set -x && [ "$(stat --printf='%04a' $(readlink -f /var/opt/gitlab/git-data/repositories) | grep -o '....$')" = '2770' ] ----
/var/opt/gitlab/git-data/repositories
의 허가의 말이 정답인 것 같다.
5. 추측
즉, GitLab을 13.4.4에서 Gitlab 13.5로 버전 업그레이드 할 때
sudo gitlab-ctl reconfigure
했지만, /var/opt/gitlab/git-data/repositories
의 허가를 변경할 수 없고 중도 반단으로 업그레이드 되고 있는 것은 아닐까?
확실히 /var/opt/gitlab/git-data/repositories
디렉토리가 02770 이 아닌 것 같다.
root@gitlab:/var/opt/gitlab/git-data# ls -la
合計 8
drwx------ 3 git root 26 3月 27 2017 .
drwxr-xr-x 24 root root 4096 10月 23 02:53 ..
drwxrwx--- 89 git git 4096 10月 23 04:19 repositories
6. 수정
권한 수정
chmod 02770 /var/opt/gitlab/git-data/repositories
ls -la /var/opt/gitlab/git-data/
수정 확인
끈적끈적한 비트가 서 있었다.
좋아 보이기 때문에 재구성
sudo gitlab-ctl reconfigure
reconfigure가 통과했는지 확인하고 다시 업데이트하여 GitLab 13.5.1로 설정
7. git pull이 통과하는지 확인
문제 없음
8. 정리
관리하고 있는 GitLab의 2대 중 1대만 이 문제가 되었으므로, 모든 서버에서 일어나는 것은 아닐 것 같다.
omnibus 설치 버전에 의한 것일지도.
Reference
이 문제에 관하여([해결됨] GitLab 13.4.4에서 13.5.0으로 업그레이드하여 git pull이 SSH 키 인증으로 오류가 발생했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ynott/items/1f68c379a42cfef59bba
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Filter chain halted as :authenticate_user rendered or redirected
Completed 401 Unauthorized in 15ms (Views: 0.6ms | ActiveRecord: 2.4ms | Elasticsearch: 0.0ms | Allocations: 3263)
GitLab 13.5 released with Mobile App Sec, Group Wikis, and more! | GitLab
htps // 아보 t. 기 t b. 코 m/레아아세 s/2020/10/22/기 tぁb-13-5-레아세 d/
아래쪽에는 다음과 같은 메시지가 적혀 있었다.
하나는,
/var/opt/gitlab/git-data/repositories
의 퍼미션의 이야기로, 다른 하나는 workhose의 소켓 파일의 장소가 바뀐 것 같다. 만약, workhorse의 Socket이 에러라고 하면 패스워드 인증에서도 에러가 될 것. 그렇다면 디렉토리 권한 문제일까요?4. 업데이트 시 로그를 살펴보기
자동 업데이트 로그는 이메일로 날아 왔으므로 살펴보십시오.
[0m * link[Link /opt/gitlab/embedded/service/gitlab-shell/config.yml to /var/opt/gitlab/gitlab-shell/config.yml] action create (up to date)
[0m * link[/opt/gitlab/embedded/service/gitlab-shell/.gitlab_shell_secret] action create (up to date)
* file[/var/opt/gitlab/.ssh/authorized_keys] action create_if_missing (up to date)
Recipe: gitlab::gitlab-rails[0m
* storage_directory[/var/opt/gitlab/git-data] action create
* ruby_block[directory resource: /var/opt/gitlab/git-data] action run (skipped due to not_if)
(up to date)
* storage_directory[/var/opt/gitlab/git-data/repositories] action create
* ruby_block[directory resource: /var/opt/gitlab/git-data/repositories] action run
[0m
================================================================================[0m
[31mError executing action `run` on resource 'ruby_block[directory resource: /var/opt/gitlab/git-data/repositories]'[0m
================================================================================[0m
[0m Mixlib::ShellOut::ShellCommandFailed[0m
------------------------------------[0m
Failed asserting that mode permissions on "/var/opt/gitlab/git-data/repositories" is 2770
[0m ---- Begin output of set -x && [ "$(stat --printf='%04a' $(readlink -f /var/opt/gitlab/git-data/repositories) | grep -o '....$')" = '2770' ] ----
/var/opt/gitlab/git-data/repositories
의 허가의 말이 정답인 것 같다.
5. 추측
즉, GitLab을 13.4.4에서 Gitlab 13.5로 버전 업그레이드 할 때
sudo gitlab-ctl reconfigure
했지만, /var/opt/gitlab/git-data/repositories
의 허가를 변경할 수 없고 중도 반단으로 업그레이드 되고 있는 것은 아닐까?
확실히 /var/opt/gitlab/git-data/repositories
디렉토리가 02770 이 아닌 것 같다.
root@gitlab:/var/opt/gitlab/git-data# ls -la
合計 8
drwx------ 3 git root 26 3月 27 2017 .
drwxr-xr-x 24 root root 4096 10月 23 02:53 ..
drwxrwx--- 89 git git 4096 10月 23 04:19 repositories
6. 수정
권한 수정
chmod 02770 /var/opt/gitlab/git-data/repositories
ls -la /var/opt/gitlab/git-data/
수정 확인
끈적끈적한 비트가 서 있었다.
좋아 보이기 때문에 재구성
sudo gitlab-ctl reconfigure
reconfigure가 통과했는지 확인하고 다시 업데이트하여 GitLab 13.5.1로 설정
7. git pull이 통과하는지 확인
문제 없음
8. 정리
관리하고 있는 GitLab의 2대 중 1대만 이 문제가 되었으므로, 모든 서버에서 일어나는 것은 아닐 것 같다.
omnibus 설치 버전에 의한 것일지도.
Reference
이 문제에 관하여([해결됨] GitLab 13.4.4에서 13.5.0으로 업그레이드하여 git pull이 SSH 키 인증으로 오류가 발생했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ynott/items/1f68c379a42cfef59bba
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
[0m * link[Link /opt/gitlab/embedded/service/gitlab-shell/config.yml to /var/opt/gitlab/gitlab-shell/config.yml] action create (up to date)
[0m * link[/opt/gitlab/embedded/service/gitlab-shell/.gitlab_shell_secret] action create (up to date)
* file[/var/opt/gitlab/.ssh/authorized_keys] action create_if_missing (up to date)
Recipe: gitlab::gitlab-rails[0m
* storage_directory[/var/opt/gitlab/git-data] action create
* ruby_block[directory resource: /var/opt/gitlab/git-data] action run (skipped due to not_if)
(up to date)
* storage_directory[/var/opt/gitlab/git-data/repositories] action create
* ruby_block[directory resource: /var/opt/gitlab/git-data/repositories] action run
[0m
================================================================================[0m
[31mError executing action `run` on resource 'ruby_block[directory resource: /var/opt/gitlab/git-data/repositories]'[0m
================================================================================[0m
[0m Mixlib::ShellOut::ShellCommandFailed[0m
------------------------------------[0m
Failed asserting that mode permissions on "/var/opt/gitlab/git-data/repositories" is 2770
[0m ---- Begin output of set -x && [ "$(stat --printf='%04a' $(readlink -f /var/opt/gitlab/git-data/repositories) | grep -o '....$')" = '2770' ] ----
즉, GitLab을 13.4.4에서 Gitlab 13.5로 버전 업그레이드 할 때
sudo gitlab-ctl reconfigure
했지만,
/var/opt/gitlab/git-data/repositories
의 허가를 변경할 수 없고 중도 반단으로 업그레이드 되고 있는 것은 아닐까?확실히
/var/opt/gitlab/git-data/repositories
디렉토리가 02770 이 아닌 것 같다.root@gitlab:/var/opt/gitlab/git-data# ls -la
合計 8
drwx------ 3 git root 26 3月 27 2017 .
drwxr-xr-x 24 root root 4096 10月 23 02:53 ..
drwxrwx--- 89 git git 4096 10月 23 04:19 repositories
6. 수정
권한 수정
chmod 02770 /var/opt/gitlab/git-data/repositories
ls -la /var/opt/gitlab/git-data/
수정 확인
끈적끈적한 비트가 서 있었다.
좋아 보이기 때문에 재구성
sudo gitlab-ctl reconfigure
reconfigure가 통과했는지 확인하고 다시 업데이트하여 GitLab 13.5.1로 설정
7. git pull이 통과하는지 확인
문제 없음
8. 정리
관리하고 있는 GitLab의 2대 중 1대만 이 문제가 되었으므로, 모든 서버에서 일어나는 것은 아닐 것 같다.
omnibus 설치 버전에 의한 것일지도.
Reference
이 문제에 관하여([해결됨] GitLab 13.4.4에서 13.5.0으로 업그레이드하여 git pull이 SSH 키 인증으로 오류가 발생했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ynott/items/1f68c379a42cfef59bba
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
chmod 02770 /var/opt/gitlab/git-data/repositories
ls -la /var/opt/gitlab/git-data/
sudo gitlab-ctl reconfigure
문제 없음
8. 정리
관리하고 있는 GitLab의 2대 중 1대만 이 문제가 되었으므로, 모든 서버에서 일어나는 것은 아닐 것 같다.
omnibus 설치 버전에 의한 것일지도.
Reference
이 문제에 관하여([해결됨] GitLab 13.4.4에서 13.5.0으로 업그레이드하여 git pull이 SSH 키 인증으로 오류가 발생했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ynott/items/1f68c379a42cfef59bba
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여([해결됨] GitLab 13.4.4에서 13.5.0으로 업그레이드하여 git pull이 SSH 키 인증으로 오류가 발생했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ynott/items/1f68c379a42cfef59bba텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)