🎃

ローカルから GitLab に SSH 接続する方法

2025/01/15に公開

ローカル環境から GitLab に SSH 接続する方法を解説します。想定環境は Linux です。

まずは公式ドキュメントを確認

GitLab の公式ドキュメントには、SSH 接続の手順が詳細に記載されています。困ったときは、以下のリンクを参考にしてください。

Use SSH keys to communicate with GitLab | GitLab

ただし、公式ドキュメントは非常に詳細で、すべての情報が必要とは限りません。本記事では、「ローカルから GitLab に SSH 接続する」という目標に必要な手順だけを簡潔に説明します。

手順

1. git config の設定

まず、以下のコマンドでユーザー名とメールアドレスを設定してください:

git config --global user.name "Your Name"
git config --global user.email "your-email@example.com"

これを実行すると ~/.gitconfig に設定が反映されます。

2. SSH キーペアの生成

次に、SSH キーペア(秘密鍵と公開鍵)を生成します。ここでは、セキュリティとパフォーマンスに優れた ED25519 を使用します。

以下のコマンドを実行してください:

ssh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/your_key_name
  • t ed25519 : SSH キータイプとして ED25519 を指定します。
  • C "your_email@example.com" : キーのコメントとしてメールアドレスを入力します(任意ですが便利です)。
  • f ~/.ssh/your_key_name : 秘密鍵と公開鍵の保存先とファイル名を指定します。

生成されたファイルを確認するには、以下を実行します:

ls ~/.ssh

3. 公開鍵をコピー

次に、公開鍵(~/.ssh/your_key_name.pub)の内容をコピーします。以下のコマンドで出力された内容をコピーしてください:

cat ~/.ssh/your_key_name.pub

4. GitLab に公開鍵を登録

  1. GitLab にログインします。
  2. 右上のプロフィールアイコンをクリックし、「Preferences」 または 「Settings」 を選択します。
  3. 左メニューから 「SSH Keys」 をクリックします。
  4. コピーした公開鍵を 「Key」 フィールドに貼り付けます。
  5. 必要に応じて 「Title」 を入力し、「Add key」 をクリックします。

5. SSH エージェントの設定

  1. SSH エージェントを起動

以下のコマンドで SSH エージェントを起動してください:

eval "$(ssh-agent -s)"

成功すると、プロセス ID が表示されます(例: Agent pid 12345)。

  1. 秘密鍵をエージェントに追加

生成した秘密鍵をエージェントに追加してください:

ssh-add ~/.ssh/your_key_name

成功すると、次のようなメッセージが表示されます:

Identity added: /home/your_user/.ssh/your_key_name (/home/your_user/.ssh/your_key_name)
  1. エージェント起動と秘密鍵追加を永続化

エージェントの起動と秘密鍵の追加を永続化するため、~/.bashrc または ~/.bash_profile に以下を追加します:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/your_key_name

これを反映するために、次のコマンドを実行してください:

source ~/.bashrc
  1. SSH 設定ファイルを編集

~/.ssh/config ファイルを作成または編集し、以下を追記してください:

Host gitlab
    HostName <GitLab Server's IP Adress>
    User <your GitLab username>
    IdentityFile ~/.ssh/your_key_name

これにより、接続時に毎回設定を指定する必要がなくなります。

6. 接続の確認

SSH 接続をテストします:

ssh -T git@<GitLab Server's IP Adress>

以下のようなメッセージが表示されれば成功です:

Welcome to GitLab, @your_username!

7. リポジトリを操作する

GitLab のリポジトリを SSH 経由で操作する準備が整いました。

  1. GitLab のリポジトリページで 「Clone with SSH」 を選択し、URL をコピーします。
  2. 以下のコマンドを実行してリポジトリをクローンします:
git clone git@gitlab.com:username/repository.git

これで、ローカルから GitLab に SSH 接続する準備は完了です。快適な Git ライフをお楽しみください!

Discussion