【初学者向け】GitHubへのSSH接続設定
はじめに
こんにちは!駆け出しエンジニアcrocoです。
GitHubにSSH接続を設定する際に躓いたので、未来の自分が見返した時に再現できるよう、手順を詳しくまとめました。
同じように困っている初学者の方の参考になれば嬉しいです。
この記事で分かること
- SSH鍵の作成方法
- GitHubへの公開鍵の登録方法
- SSH設定ファイル(config)の編集方法
- 接続テストの実施方法
- よくあるエラーとその対処法
前提条件
- macOS または Linux を使用(Windowsの場合は一部コマンドが異なります)
- ターミナルの基本的な操作ができる
- GitHubアカウントを持っている
手順1: SSH鍵の作成
ターミナルを開き、以下のコマンドを実行します。メールアドレスは自分のGitHubアカウントに登録しているものに置き換えてください。
ssh-keygen -t ed25519 -C "your_email@example.com"
コマンドを実行すると、保存場所とパスフレーズの設定を求められます。
Enter file in which to save the key (/Users/username/.ssh/id_ed25519):
デフォルトの場所で良ければ、そのままEnterキーを押します。
次にパスフレーズの設定を求められます。
Enter passphrase for "/Users/username/.ssh/id_ed25519" (empty for no passphrase):
セキュリティを高めるため、パスフレーズを設定することをおすすめします。設定しない場合は、そのままEnterキーを押します。
成功すると、以下のようなメッセージが表示されます。
Your identification has been saved in /Users/username/.ssh/id_ed25519
Your public key has been saved in /Users/username/.ssh/id_ed25519.pub
これで、秘密鍵(id_ed25519)と公開鍵(id_ed25519.pub)が作成されました。
手順2: 公開鍵をGitHubに登録する
以下のコマンドで公開鍵の内容を表示します。
cat ~/.ssh/id_ed25519.pub
ssh-ed25519で始まる長い文字列が表示されるので、すべてコピーしてください。
次に、GitHubの設定画面を開きます。
- GitHubにログインします
- 右上のプロフィールアイコンをクリック → Settings を選択
- 左メニューから SSH and GPG keys をクリック
- New SSH key ボタンをクリック
公開鍵を登録します。
- Title: 鍵の識別名(例: "My MacBook Pro")
- Key: 先ほどコピーした公開鍵をペースト
- Add SSH key ボタンをクリック
パスワードの確認を求められたら、GitHubのパスワードを入力します。
手順3: SSH設定ファイル(config)の作成・編集
.sshディレクトリに移動し、configファイルがあるか確認します。
cd ~/.ssh
ls
configというファイル名が表示されればOKです。なければ、以下のコマンドで作成します。
touch config
以下のコマンドでエディタを開き、設定内容をペーストします。
nano config
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519
ファイルを保存して終了します(Control + X、Y、Enter)。
手順4: 接続テストを実施する
以下のコマンドで接続テストを実行します。
ssh -T git@github.com
初回接続の場合、以下のようなメッセージが表示されます。
The authenticity of host 'github.com (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
yesと入力してEnterキーを押します。
成功すると、以下のようなメッセージが表示されます! 🎉
Hi [あなたのユーザー名]! You've successfully authenticated, but GitHub does not provide shell access.
これでSSH接続の設定は完了です!
よくあるエラーと対処法
エラー1: Permission denied (publickey)
git@github.com: Permission denied (publickey).
原因:
- 公開鍵がGitHubに正しく登録されていない
- 秘密鍵のパスが間違っている
- 秘密鍵のファイルが存在しない
対処法:
-
まず、鍵ファイルが存在するか確認します
ls -l ~/.ssh -
id_ed25519とid_ed25519.pubが両方あるか確認 -
なければ、手順1から鍵の作成をやり直します
-
あれば、GitHubに公開鍵が正しく登録されているか確認します
エラー2: no such identity
no such identity: /Users/username/.ssh/id_rsa: No such file or directory
原因:
configファイルで指定している鍵ファイルのパスが実際のファイル名と一致していません。
対処法:
-
実際の鍵ファイル名を確認します
ls ~/.ssh -
configファイルのIdentityFileの値を、実際のファイル名に合わせて修正します
まとめ
SSH接続の設定は、最初は難しく感じるかもしれませんが、一度設定してしまえば、その後はパスワードを入力せずにGitHubとやり取りできて便利です。
この記事の手順通りに進めれば、確実に設定できるはずです。もし躓いたら、エラーメッセージをよく読んで、該当する対処法を試してみてください。
未来の自分、そして同じように困っている方の助けになりますように!
Discussion