eyecatch thumbnail

Gitlab SSH Key 設定エラーの対処方法まとめ

Profile picture
ルッチ / Lucci
2020.08.09

Contents

はじめに

本記事は、Gitlab and SSH keys に記載されている、SSH key 設定エラーの対処方法をまとめたものです。

SSH key 認証がきちんとされていると Git を快適に使えるようになります。

よく引っかかる順番に対処方法をまとめています。

そもそも SSH key が PC に生成されていない場合

お使いの PC に SSH key が生成されていない場合は、以下のコマンドで SSH Key を生成してください。

ssh-keygen -t rsa -b 4096 -C "email@example.com"

上記コマンドを実行すると以下のようなメッセージが随時出力されます。

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

1行目は、SSH key のペア (public と private) が生成されますよ、というメッセージです。

2行目は、生成される SSH key をどこになんという名前で保存するかを聞いています。 何も入力せずに Enter キーを叩くと $HOME/.ssh/id_rsa という名前で保存されます。

3行目は、SSH key にパスワードを設定するか聞いています。 何も入力せずに Enter キーを叩くとパスワードは設定されません。

4行目は、そのパスワードの確認です。

以上で、PC に SSH key を生成する作業が終了しました。

もしも、Gitlab に SSH key を設定していない場合は、次節も続けてお読みくださいませ。

Gitlab に SSH key が設定されていない場合

PC に SSH key は生成したけど、Gitlab に SSH key を設定していない場合の対処方法です。

まず、Gitlab.com にアクセスして、Sign in してください。

Sign in したら

  • Your Icon
  • => Settings
  • => SSH Keys

にアクセスします。

Key 欄 (下図参照) に先ほど生成した SSH key を貼り付ける必要がありますので、以下のようなコマンドを実行して SSH key (public) をターミナルに出力してください。

# id_rsa.pub は適宜置換してください
cat $HOME/.ssh/id_rsa.pub

出力結果をコピーして、先ほどの Key 欄に貼り付けてください。

貼り付けたら、Title をお好きなモノに変更して、Add key をクリックしてください。

Figure.Gitlab.SSH.Key

以上で、Gitlab に SSH Key を設定する作業の終了です。

Gitlab に SSH key は登録しているのに、git fetch コマンドや git pull コマンドを実行した時に、 SSH key 認証ができていないとエラーになってしまう方は、 PC の $HOME/.ssh/config ファイルが正しく設定されていない場合があります。

以下にその対処方法について紹介します。

$HOME/.ssh/config を設定していない場合

新規ターミナルで git の操作した時や、再起動したあとで git の操作をした時に、SSH key 認証エラーになる場合の対処方法です。

git fetchgit pull コマンドを実行した時に、認証ができていないというエラーになってしまう方は、 $HOME/.ssh/config ファイルの設定ができていない場合が多いです。

特に、複数の Git アカウントを同じ PC で扱っていると頻繁にこのエラーに遭遇します。

新規ターミナルを立ち上げた時に、認証エラーになる方も $HOME/.ssh/config を設定していないことが多いです。

ということで、$HOME/.ssh/config を作成 / 編集しましょう。

vi $HOME/.ssh/config

以下のような設定を追記してください。 ご自身の環境に合うように適宜変更してください。

# GitLab.com
Host gitlab.com
Preferredauthentications publickey
IdentityFile ~/.ssh/gitlab_com_rsa

# Private GitLab instance
Host gitlab.company.com
Preferredauthentications publickey
IdentityFile ~/.ssh/example_com_rsa

なお、gitlab.com に複数のアカウントを所有していて、それぞれのアカウントに紐づいた SSH key を設定したい場合は、以下のような設定を追記してください。

# User1 Account Identity
Host user_1.gitlab.com
Hostname gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/example_ssh_key1

# User2 Account Identity
Host user_2.gitlab.com
Hostname gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/example_ssh_key2

あとは保存して終了です。

以上で、新規ターミナルを立ち上げた時や PC を再起動した時に、SSH 認証エラーになる場合の対処方法は終了です。お疲れ様でした。

おわりに

Gitlab の SSH key 認証でエラーになる場合の対処方法を紹介しましたが、お目当ての対処方法はありましたでしょうか?

本記事が少しでも役に立てれば、筆者としてとても嬉しいです。

この記事は git 初心者の筆者が、頭を整理するために書いた備忘録です。

それ故に、間違いなどがあったかもしれません。

git 上級者の皆さま、温かい目で見ていただき、優しいコメントを頂ければ幸いです。

Gitlab のことを体系的に勉強したい方は、Gitlab 実践ガイド がオススメです。

最後までお読みいただきありがとうございました.

愛用品

  • Xiser Pro Trainer 1日中踏み続けられる強靭なステッパーでおすすめです.
  • HHKB Professional 墨 x HHKB キートップセット 白 ボディは墨色キートップは白色なのでめちゃめちゃ目に優しいのでおすすめです.
  • Apple Magic Mouse 2 トラックパッドは指が攣りそうになりますけどマウスはその心配が無いのでおすすめです.
  • Apple MacMini ミニマルでパワフルなデスクトップ PC なので個人的に大好きなのでおすすめです.
  • iiyama Display 27inch FullHD 鮮明すぎない画面で目も疲れにくいですし何より高さ調節できるのが最高なのでおすすめです.
  • KINTO UNITEA 550ml 500ml の大容量でこの綺麗なデザインは他にみたことがないのでおすすめです.

関連記事


大学生へのお知らせ

ここまで記事を読んでくれて本当に嬉しいです、ありがとうございます。

プログラミングを始めたばかりの頃って「やるぞ!」という気持ちは強めですが、 実際に取り組み始めると「何からどうやってどこまでやればいんだ?」 という感じで羅針盤を失うことが多いような気がします。(実体験)

そんな勉強熱心で向上心高めなんだけど目指す姿が曖昧な大学生の方に感謝の意も込めて、就職活動までサポートするプログラミングスクール「レバテックカレッジ」を紹介します。↓

Levtech-college

「自走力」のあるエンジニアを最短3ヶ月で目指せるカリキュラムが月額30,000円で用意されていて、 現段階の「目指す姿が曖昧で何から手をつければいいかわからない状態」から脱却できます。

自分は実際にIT企業で働いていますが、「自走力」のあるエンジニアの方にはいつも助けられています。

なので、目指す姿が曖昧な人はとりあえずレバテックカレッジが導いてくれる 「自走力のあるエンジニア」を目指してみるのはスタートダッシュとしてはアリです。

レベルアップしてからジョブチェンするのはRPGでも常套手段ですし、 レバテックカレッジで一通りのスキルを習得してから自分の目指す姿を再定義するといいかもです。

「自走力のあるエンジニア」って実際どんなエンジニアなの? 何から手をつければいいかわからないから教えて欲しい、 という人は上のテキストリンク/画像リンクから「無料相談会」への申し込みをお願いします。

よきエンジニアライフを!