Git CLIでSSH

Page content

Git CLIでSSHを設定してログインする手順を分かりやすく説明します。


1. SSHキーの生成

まず、SSHキーを生成します。これは、コンピュータとGitホスティングサービス(GitHub, GitLab, Bitbucketなど)の間で安全な通信を確立するために必要です。

  1. ターミナルまたはコマンドプロンプトを開く

  2. 以下のコマンドを実行します。

    ssh-keygen -t ed25519 -C "your_email@example.com"
    
    • -t ed25519: 強度が高く安全なEd25519アルゴリズムを使用します。
    • -C "your_email@example.com": コメントとしてメールアドレスを追加します。これは必須ではありませんが、後でキーを識別するのに役立ちます。
  3. 保存場所とパスフレーズの入力

    • Enter a file in which to save the key (/home/you/.ssh/id_ed25519): と表示されたら、Enterキーを押してデフォルトの場所に保存します。
    • Enter passphrase (empty for no passphrase): と表示されたら、パスフレーズを入力します。パスフレーズはSSHキーをさらに保護するためのパスワードです。セキュリティを考慮すると設定することが推奨されますが、毎回入力するのが面倒な場合は空のままでも構いません。パスフレーズを設定した場合は、忘れずに控えておいてください。
    • Enter same passphrase again: で、もう一度パスフレーズを入力します。

    生成が完了すると、以下のようなメッセージが表示されます。

    Your identification has been saved in /home/you/.ssh/id_ed25519
    Your public key has been saved in /home/you/.ssh/id_ed25519.pub
    The key's randomart image is:
    +--[ED25519 256]--+
    |        .+*o.    |
    |       . +BO     |
    |        . =.B.   |
    |       o o =.+   |
    |      . S =.o    |
    |       . + +     |
    |        E .      |
    |         .       |
    |                 |
    +-----------------+
    

    id_ed25519がプライベートキー(秘密鍵)、id_ed25519.pubがパブリックキー(公開鍵)です。プライベートキーは誰にも見せてはいけません。

2. SSHエージェントの起動とキーの追加

SSHエージェントは、パスフレーズを入力せずにSSHキーを使用できるようにするプログラムです。

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

    eval "$(ssh-agent -s)"
    
  2. SSHキーをエージェントに追加

    ssh-add ~/.ssh/id_ed25519
    

    パスフレーズを設定した場合は、ここでパスフレーズの入力を求められます。

    ヒント: コンピュータを再起動するとSSHエージェントは停止します。起動スクリプトに上記のコマンドを追加するか、必要に応じて手動で実行してください。

3. 公開鍵をGitホスティングサービスに登録

次に、先ほど生成した公開鍵(id_ed25519.pubの中身)を、利用しているGitホスティングサービス(GitHub, GitLabなど)に登録します。

  1. 公開鍵の内容をコピー 以下のコマンドで公開鍵の内容を表示し、すべてコピーします。

    cat ~/.ssh/id_ed25519.pub
    

    ssh-ed25519 AAAA... your_email@example.com のような文字列が表示されます。これをすべてコピーしてください。

    Macの場合

    pbcopy < ~/.ssh/id_ed25519.pub
    

    Linuxの場合

    xclip -selection clipboard < ~/.ssh/id_ed25519.pub
    # または
    cat ~/.ssh/id_ed25519.pub | xclip -selection clipboard
    

    xclipがインストールされていない場合は、sudo apt-get install xclip などでインストールしてください。

  2. 各サービスへの登録手順(例)

    • GitHubの場合:
      1. GitHubにログインし、右上のプロフィールアイコンをクリックし、「Settings」を選択します。
      2. 左側のメニューから「SSH and GPG keys」を選択します。
      3. 「New SSH key」または「Add SSH key」ボタンをクリックします。
      4. 「Title」に任意の名前(例: “My Laptop”)を入力し、「Key」のテキストエリアにコピーした公開鍵の内容を貼り付けます。
      5. 「Add SSH key」をクリックして保存します。