ローカルから GitLab に SSH 接続する方法
ローカル環境から 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 に公開鍵を登録
- GitLab にログインします。
- 右上のプロフィールアイコンをクリックし、「Preferences」 または 「Settings」 を選択します。
- 左メニューから 「SSH Keys」 をクリックします。
- コピーした公開鍵を 「Key」 フィールドに貼り付けます。
- 必要に応じて 「Title」 を入力し、「Add key」 をクリックします。
5. SSH エージェントの設定
- SSH エージェントを起動
以下のコマンドで SSH エージェントを起動してください:
eval "$(ssh-agent -s)"
成功すると、プロセス ID が表示されます(例: Agent pid 12345
)。
- 秘密鍵をエージェントに追加
生成した秘密鍵をエージェントに追加してください:
ssh-add ~/.ssh/your_key_name
成功すると、次のようなメッセージが表示されます:
Identity added: /home/your_user/.ssh/your_key_name (/home/your_user/.ssh/your_key_name)
- エージェント起動と秘密鍵追加を永続化
エージェントの起動と秘密鍵の追加を永続化するため、~/.bashrc
または ~/.bash_profile
に以下を追加します:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/your_key_name
これを反映するために、次のコマンドを実行してください:
source ~/.bashrc
- 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 経由で操作する準備が整いました。
- GitLab のリポジトリページで 「Clone with SSH」 を選択し、URL をコピーします。
- 以下のコマンドを実行してリポジトリをクローンします:
git clone git@gitlab.com:username/repository.git
これで、ローカルから GitLab に SSH 接続する準備は完了です。快適な Git ライフをお楽しみください!
Discussion