5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[入門] SSH を利用した Github への接続設定

Last updated at Posted at 2025-01-27

対象読者

  • Github にSSHの接続したい方

環境

MacBook Pro M3 Pro

概要

ここでは、SSHを利用した認証設定を行います。
これにより、リモートのサーバーやサービスに、ユーザー名と personal access token を入力することなく、GitHubに接続できます。

1. 既存のSSHキーを確認する

はじめに、ローカルに既存のSSH key が存在するか確認します。

$ ls -al ~/.ssh

#ログの例
-rw-------    1 hiro  staff  2622  6 17  2025 id_rsa
-rw-r--r--@   1 hiro  staff   587  6 17  2025 id_rsa.pub
-rw-------    1 hiro  staff   933  4 11  2025 known_hosts

ここのログの例では、id_rsaid_rsa.pub のキーペアが存在しているので、これらを使ってGitHubの認証設定を行うことができます。新しくキーを生成する必要はありません。

秘密鍵と公開鍵について

  • id_rsa
    秘密鍵と呼ばれるものです。これは絶対に他人に共有してはいけない秘密の鍵です。
    生成するマシンのローカルに保存されています。

  • id_rsa.pub
    .pub が公開鍵と呼ばれるものです。これがGitHubに登録する鍵となります。
    Githubでは、id_rsa.pub・id_ecdsa.pub・id_ed25519.pubのファイル名が既定でサポートされています。

  • known_hosts
    接続したことのあるSSHサーバーの情報です。
    GitHubのサーバー情報などが記録されています。

キーペアが存在しない場合、別のキーペアを使用する場合は、次の手順へ進んでください。

2. 新しい SSHキーを生成する

以下のコマンドで、キーペアを生成します。

$ ssh-keygen -t ed25519 -C "your_email@example.com"

Generating public/private ed25519 key pair.
> Enter file in which to save the key (/Users/YOU/.ssh/id_ed25519): [Press enter]
> Enter passphrase (empty for no passphrase): [Press enter]
> Enter same passphrase again: [Press enter]

上記の隠しフォルダ .ssh 直下に作成してよいのか尋ねられるので enter を押します。
その次に、passphrase をどうするか尋ねらますが、empty で良いので enter を押します。

スクリーンショット 2025-01-15 13.02.48.png

生成が完了したら、.ssh フォルダ直下にid_ed25519id_ed25519.pubがあることを確認できるはずです。

:information_source: 補足
passphraseを設定することで、セキュリティを高めることができます。ただし、設定した場合は、Git操作のたびに入力が必要になります。

以前に SSH キーを作成した場合、ssh-keygen から別のキーの書き換えを求められる場合があるので注意してください。既存のものを、別のフォルダへ移動させるなど対応しましょう。

3. アカウントへの新しい SSH キーの追加

Settings < SSH and GPG keys の New SSH Key を選択します。

Monosnap SSH and GPG keys 2025-01-15 12-43-04.png

Add new SSH Key で各設定を入力していきます。

スクリーンショット 2025-01-15 13.11.10.png

Titleは、公開鍵と対となる秘密鍵を保存しているPC名など適当に決定します。
Key type は、Authentication Key のままにします。
Key の欄に、先ほど作成した id_ed25519.pub をテキストエディターで開いて、メールアドレス以外の部分を入力します。

スクリーンショット 2025-01-15 13.09.36.png

入力し終えたら、Add SSH keyを押して完了です。

これで、Authentication keys の一覧に追加されました。

4. SSH 接続をテストする

生成・追加した SSH Key で Github に接続を試みます。
以下のコマンドを実行してください。

$ ssh -T git@github.com

> The authenticity of host 'github.com (IP ADDRESS)' can't be established.
> ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
> Are you sure you want to continue connecting (yes/no)? [yes enter]

はじめて接続する時は、上記のようなログが出ると思います。 ED25519 key fingerprint で接続するけどいいのか問われるので、メッセージのフィンガープリントが、GitHub の公開キー フィンガープリントと一致することを確認します。一致する場合は、「yes」と入力し enter を押します。

その後、接続成功のログを確認することが出来れば、SSHキーを用いた接続設定は完了です。

SSH 認証について

SSH認証について詳しく知りたい方は、Githubのドキュメントや下記の動画を参考にしてみるといいかもしれません。

SSH認証について

クライアント側でキーペアを作成する。
秘密鍵をローカルに、公開鍵をリモートのサーバーなどに配置する。

SSHとは?【分かりやすい解説シリーズ #65】【プログラミング】 - YouTube

  • 別のコンピュタを遠隔操作するツール
  • 通信は全て暗号化
  • SSH(Secure Shell) の認証方式
  • サーバーにリモートログインする時 パスワードでの認証ではなく公開鍵認証という認証方式がある
  • 公開鍵認証
    • 接続する度にパスワードを入力するのではなく、秘密鍵と公開鍵という仕組みを利用してより安全に接続を行う

公開鍵認証とは?【分かりやすい解説シリーズ #24】【プログラミング】 - YouTube

秘密鍵

  • 電子署名というデータを作成できる
  • ローカルパソコンに保存

公開鍵

  • 電子証明データが正しいか検証できる
  • サーバーの中に保存

まとめ

設定することで、毎回のGit操作でユーザー名とパスワード(またはトークン)の入力するこなく、安全に接続することが出来るようになりました。

秘密鍵は絶対に共有してはいけないことに注意しましょう。

参考文献

SSH を使用した GitHub への接続 - GitHub Docs

MacでターミナルからGitHubにSSHキーで接続する方法 - YouTube

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?