Amazon Linux 2023 + GitLab で TCP/22 を GitLab 用に設定する
先日、Amazon Linux 2023 へ GitLab をインストールする というメモを書きました。 公式サイトの gitlab-sshd によると Omnibus 版 GitLab の場合、GitLab で SCP 機能を有効化する場合は以下の設定をしろ、という記載があります。
/etc/gitlab/gitlab.rb
gitlab_sshd['enable'] = true
gitlab_sshd['listen_address'] = '[::]:2222' # Adjust the port accordingly
ですが、OS 標準の sshd を TCP/22 以外へ設定し、その代わりに GitLab に TCP/22 を利用させようとしても「GitLab がポートを Listen しない」という事象が起こりました。 この問題を解決するには以下のように capset 実行します。
sudo setcap 'cap_net_bind_service=+ep' /opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-sshd
その上で GitLab の設定ファイルである /etc/gitlab/gitlab.rb
へ以下のように設定します。
/etc/gitlab/gitlab.rb
gitlab_sshd['enable'] = true
gitlab_sshd['listen_address'] = '0.0.0.0:22'
あとは GitLab を再起動します。
sudo gitlab-ctl reconfigure
これで GitLab が TCP/22 を Listen するようになりました。