GitLab の authorized_keys が同期されない
GitLabの サーバに対して git
コマンドがエラーになってしまう現象が起きました。
1 2 3 4 5 |
$ git pull origin Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). fatal: The remote end hung up unexpectedly |
GitLab の web 画面で見ると、ssh の公開鍵は登録されています。
しかし、試しに鍵を削除して再登録しても、GitLab サーバの git ユーザの .ssh/authorized_keys が更新されていないようです。特にパーティション設定にも問題はありません。
原因はわかりませんが壊れて同期しなくなってしまったようです。修復したいところですが、このファイルは手動で更新してはならないということになっています。
そこで、強制的に以下のコマンドで authorized_keys を作り直します。これで GitLab に登録されている公開鍵が書き出されます。既存の .ssh/authorized_keys ファイルは上書きされるので念のために事前にバックアップを取っておきましょう。
1 2 3 4 5 6 |
$ bundle exec rake gitlab:shell:setup RAILS_ENV=production This will rebuild an authorized_keys file. You will lose any data stored in authorized_keys file. Do you want to continue (yes/no)? yes |
再作成された .ssh/authorized_keys ファイルを確認したところ、新しく登録した公開鍵も書き出されていました。これで git pull コマンドもエラーが出なくなりました。
ITエンジニア募集中!
キュアコード株式会社はITエンジニアを募集しております。少人数の職場なので、上流・下流やサーバー・クライアント対応の垣根なく、あなたの強みを活かしながら いろいろなことにチャレンジ可能です。エンジニアとしての未経験の方、経験が少ない方も歓迎しています。
下記よりITエンジニア募集の採用情報をご覧いただけます。