TL;DR
-
ssh-keygen
で秘密鍵・公開鍵を生成 - 公開鍵をGitLab / GitHubに登録する
- ssh接続用設定ファイル(~/.ssh/config)を作成し、SSH接続できるか検証する
環境
WSL(Ubuntu 22.04) on Windows11 home
1. 秘密鍵・公開鍵の生成
$ mkdir ~/.ssh
$ cd ~/.ssh
$ ssh-keygen -t rsa -b 4096
この後パスワードの入力を求められるがENTERでもOK(パスワードなしの鍵が生成される)
ls
コマンドでフォルダ内を見てみるとid_rsa
(秘密鍵)とid_rsa.pub
(公開鍵)ができている。
2. keychainへ登録
※GitLabへの接続には必須。
keychain
がUbuntuにインストールされていない場合、以下を実行。
$ sudo apt-get install keychain
生成した秘密鍵id_rsa
をkeychain
に登録する。
$ /usr/bin/keychain -q --nogui ~/.ssh/id_rsa
$ source $HOME/.keychain/$(ls $HOME/.keychain/*-sh)
3. Git Lab / Git Hubへの公開鍵の登録
Git Labの場合
- 左上の自分のアイコンをクリック
- 「preference」をクリック
- 左スライダーバーを開き、「SSH key」を開く
- 「Add new key」を押下、公開鍵を張り付ける
GitHubの場合
- 右上の自分のアイコンからサイドバーを開く
- 「Settings」をクリック
- 左スライダーバーから、「SSH and GPG keys」を開く
- 「New SSH key」を押下、公開鍵を張り付ける
4. テスト接続
~/.ssh/config
へ記載。
Host gitlab.com
Hostname gitlab.com
User git
IdentityFile ~/.ssh/id_rsa
TCPKeepAlive yes
IdentitiesOnly yes
Host github.com
Hostname github.com
User git
IdentityFile ~/.ssh/id_rsa
TCPKeepAlive yes
IdentitiesOnly yes
テスト接続
GitLabへの接続
$ ssh gitlab.com
以下のレスポンスが返ってこれば成功。
PTY allocation request failed on channel 0
Welcome to GitLab, @(ユーザ名)!
Connection to gitlab.com closed.
同じくGitHubへの接続
# GitHubへの接続
$ ssh github.com
以下のレスポンスが返ってこれば成功。
PTY allocation request failed on channel 0
Hi (ユーザ名)! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.