`gitlab-sshd`
GitLab 인스턴스에 OpenSSH의 경량 대안인 `gitlab-sshd`를 구성합니다.
gitlab-sshd 는 Go로 작성된 독립형 SSH 서버 입니다. OpenSSH의 경량 대안이며, gitlab-shell 패키지에 포함되어 SSH 작업 을 처리합니다. OpenSSH가 제한된 셸 방식을 사용하는 것과 달리 gitlab-sshd 는 다음과 같습니다. 멀티 스레드 서버 애플리케이션으로 동작합니다. SSH 전송 프로토콜 대신 원격 프로시저 호출(RPC)을 사용합니다. OpenSSH보다 메모리를 적게 사용합니다. 프록시 뒤에서 실행되는 애플리케이션에 대해 IP 주소 기반 그룹 액세스 제한 을 지원합니다. 구현에 관한 자세한 내용은 블로그 게시물 을 참고합니다. OpenSSH에서 gitlab-sshd 로 전환을 검토한다면 다음 사항을 고려합니다. PROXY 프로토콜: gitlab-sshd 는 PROXY 프로토콜을 지원하므로 HAProxy 같은 프록시 서버 뒤에서 실행할 수 있습니다. 이 기능은 기본적으로 비활성화되어 있으며 활성화할 수 있습니다 . SSH 인증서: gitlab-sshd 는 config.yml 에 구성한 신뢰할 수 있는 CA 키를 사용해 인스턴스 수준 SSH 인증서 인증을 지원합니다. 자세한 내용은 gitlab-sshd 를 사용하는 인스턴스 수준 SSH 인증서 를 참고합니다. 2FA 복구 코드: gitlab-sshd 는 2FA 복구 코드 재생성을 지원하지 않습니다. 2fa_recovery_codes 를 실행하면 다음 오류가 발생합니다. remote: ERROR: Unknown command: 2fa_recovery_codes . 자세한 내용은 논의 내용 을 참고합니다. 알고리즘 구성: gitlab-sshd 는 /etc/ssh/sshd_config 를 읽지 않습니다. 자세한 내용은 SSH 알고리즘 구성 을 참고합니다. Git 프로토콜 v2: gitlab-sshd 는 추가 구성 없이 GIT_PROTOCOL 환경 변수를 허용합니다. Git 프로토콜 v2 구성 에 설명된 AcceptEnv 설정은 OpenSSH 에만 적용됩니다. GitLab Shell의 기능은 Git 작업을 넘어서며, GitLab과의 다양한 SSH 기반 상호 작용에 사용할 수 있습니다. gitlab-sshd 활성화 # gitlab-sshd 를 사용하는 방법은 다음과 같습니다. Linux package (Omnibus) Helm chart (Kubernetes) 다음 절차는 OpenSSH와 다른 포트에서 gitlab-sshd 를 활성화합니다. /etc/gitlab/gitlab.rb 를 편집합니다. gitlab_sshd[ 'enable' ] = true gitlab_sshd[ 'listen_address' ] = '[::]:2222' # Adjust the port accordingly 선택 사항. 기본적으로 Linux 패키지 설치본은 /var/opt/gitlab/gitlab-sshd 에 SSH 호스트 키가 없으면 gitlab-sshd 용으로 호스트 키를 생성합니다. 이 자동 생성을 비활성화하려면 다음 줄을 추가합니다. gitlab_sshd[ 'generate