【ITニュース解説】【GitHub】 SSH接続再設定

2025年09月07日に「Qiita」が公開したITニュース「【GitHub】 SSH接続再設定」について初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

ITニュース概要

GitHubへのSSH接続に必要な.sshフォルダを削除した場合の復旧手順。Windows 11のGit Bash環境で、SSH鍵を生成し、GitHubへ登録することで再度接続を可能にする。鍵の生成には`ssh-keygen`コマンドを利用。

出典: 【GitHub】 SSH接続再設定 | Qiita公開日:

ITニュース解説

GitHubへのSSH接続再設定について、特に.sshフォルダを削除してしまった場合の復旧手順を解説する。これは、システムエンジニアを目指す上で避けて通れないGitとGitHubの基本操作に関連する重要な知識だ。

まず、SSH(Secure Shell)とは、ネットワークを通じて安全に他のコンピュータに接続するためのプロトコルである。GitHubのようなサービスでは、SSH接続を使うことで、HTTPS(Webブラウザでウェブサイトを見る際に使う通信方法)よりも安全に、GitHubのリポジトリ(プロジェクトのデータが保管されている場所)にアクセスし、変更をアップロードしたり、ダウンロードしたりできる。

.sshフォルダは、自分のコンピュータに保存されている秘密鍵と公開鍵という、いわばデジタルな鍵と鍵穴を保管する場所だ。秘密鍵は自分だけが持っているべきもので、絶対に他人に教えてはいけない。公開鍵はGitHubに登録することで、自分のコンピュータからGitHubへの安全な接続を確立するために使われる。

もし、.sshフォルダを誤って削除してしまった場合、GitHubとのSSH接続はできなくなる。これは、鍵と鍵穴がなくなってしまった状態と同じだ。しかし、心配する必要はない。以下の手順で復旧できる。

最初のステップは、新しいSSH鍵の生成だ。記事ではssh-keygenというコマンドを使っている。これは、OpenSSHというソフトウェアに含まれている鍵生成ツールで、ほとんどのLinuxやmacOS、そしてWindowsでもGit Bashなどの環境で使用できる。

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

このコマンドの意味を詳しく見ていこう。

  • ssh-keygen: SSH鍵を生成するためのコマンド。
  • -t ed25519: 生成する鍵の種類を指定するオプション。ed25519は、比較的安全で高速な暗号化方式として推奨されている。RSAなどの他の方式もあるが、ed25519が一般的になっている。
  • -C "your_email@example.com": コメントを追加するオプション。通常は自分のメールアドレスを指定する。これは鍵を識別するためのもので、必須ではないが、設定しておくと便利だ。your_email@example.comの部分は、実際に自分のメールアドレスに置き換える必要がある。

このコマンドを実行すると、秘密鍵と公開鍵が生成される。デフォルトでは、~/.ssh/id_ed25519(秘密鍵)と~/.ssh/id_ed25519.pub(公開鍵)という名前で保存される。ファイル名は変更することも可能だが、特に理由がない限りはデフォルトのままにしておくのが良いだろう。

コマンド実行時には、パスフレーズ(秘密鍵を保護するためのパスワード)を設定するかどうかを尋ねられる。パスフレーズを設定すると、秘密鍵がさらに安全になるが、毎回パスフレーズを入力する必要があるため、少し手間がかかる。セキュリティを重視するなら設定するべきだが、利便性を優先するなら設定しなくても良い。

次に、生成された公開鍵をGitHubに登録する必要がある。公開鍵はテキストファイルなので、エディタで開いて内容をコピーする。~/.ssh/id_ed25519.pubを開き、中身をコピーすれば良い。

GitHubにログインし、「Settings」→「SSH and GPG keys」→「New SSH key」の順にクリックする。タイトル(鍵の名前)を適当に入力し、Keyの欄に先ほどコピーした公開鍵の内容を貼り付け、「Add SSH key」をクリックする。これで、GitHubに公開鍵が登録された。

最後に、SSH接続が正しく設定されているかを確認する。ターミナルで以下のコマンドを実行する。

ssh -T git@github.com

もし成功すれば、

Hi your_username! You've successfully authenticated, but GitHub does not provide shell access.

のようなメッセージが表示される。your_usernameは自分のGitHubのユーザー名に置き換わる。このメッセージは、認証が成功したことを意味する。もしエラーが表示された場合は、公開鍵の登録がうまくいっていないか、SSHの設定に問題がある可能性がある。エラーメッセージをよく読んで、原因を特定する必要がある。

以上の手順で、.sshフォルダを削除してしまった場合でも、GitHubへのSSH接続を復旧させることができる。SSH接続は、GitとGitHubを利用する上で非常に重要な技術なので、しっかりと理解しておく必要がある。この手順を参考に、GitHubとの安全な接続を確立し、快適な開発環境を構築してほしい。

関連コンテンツ