Gitlab에서 clone(ssh) 비밀번호를 물어봐서 찾아봤어요.
문제.
중앙 OS 7에 설치된 개인 GitLab의 경우
SSH 연결
git clone
을 시도할 때 키를 설정할 때 비밀번호를 묻습니다.까닭
SELinux 설정이 적절하게 설정되지 않았기 때문입니다.
(사실 나는 무효만 하면 된다고 생각했는데, 내가 이겼기 때문에 싸우려고 했다)
해결책
chcon -R -t ssh_home_t /var/opt/gitlab/.ssh
해결될 때까지.
특정 값이 컨텐트로 대체됩니다.
SELinux에 도착하기 전에 생략하십시오.
(다방면의 조사를 통해.ssh/authrized keys가 역할을 발휘하지 않았다는 것을 알았다.)
다음 명령을 통해 SELinux를 무효화시키면 git에 ssh 연결을 할 수 있습니다.
無効化
# setenforce 0
接続確認(クライアント側)
# ssh -T git@<IP>
有効化
# setenforce 1
ls-Z에 있는 SELinux 라벨(권한?)그러면루트와
git
다르다는 것을 알았다.
루트의ssh/authorized_sshhome_t
git의ssh/authorized_keys는 var입니다.t
됐어.
SELinux 로그를 확인한 후
# ls -Z ~/.ssh
unconfined_u:object_r:ssh_home_t:s0 authorized_keys
# ls -Z /var/opt/gitlab/.ssh
unconfined_u:object_r:var_t:s0 authorized_keys system_u:object_r:var_t:s0 authorized_keys.lock
ここまで来る前に
# restorecon -R -v /var/opt/gitlab/.ssh
を実行しているのでls -Z /var/opt/gitlab/.sshの結果は本来の状態から異なっているかもしれない、、、
역시 authorized키스에 문제가 있는 것 같은데,그러므로
git의ssh/authorized_ssh keys 태그home_t
이...로 변경되면 갈 수 있지 않나요?이렇게 설정했어.
# cat /var/log/audit/audit.log | grep denied
...
type=AVC msg=audit(<time?>): avc: denied { read } for pid=<pid> comm="sshd" name="authorized_keys" dev="dm-0" ino=<ino> scontext=system_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:var_t:s0 tclass=file permissive=0
...
설치 후 연결할 수 있습니다.# chcon -R -t ssh_home_t /var/opt/gitlab/.ssh
# ls -Z /var/opt/gitlab/.ssh
unconfined_u:object_r:ssh_home_t:s0 authorized_keys system_u:object_r:ssh_home_t:s0 authorized_keys.lock
지금 다시 시작해도 SSH 연결에 문제가 없습니다.참고 자료
[ausearch] SELinux의 로그에 대한 견해와 고장 제거, 감사 설정,tail 실시간 표시~
[대충 이해] 셀리눅스는?
Reference
이 문제에 관하여(Gitlab에서 clone(ssh) 비밀번호를 물어봐서 찾아봤어요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/anzu_natsukawa/articles/c7fcb77262fae8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)