内容
- SSH接続とは?
- SSHクライアントとSSHサーバ
- Gitの環境構築(Windows向け)
- GitHubにSSH接続する手順
- 公開鍵・秘密鍵の発行
- GitHubに公開鍵をアップロード
- GitHubへのSSH接続の確認
参考サイト
以下のサイトを参考に実施しました。
PC環境
OS: Windows11
SSH接続とは?
SSHは、遠隔でコンピュータを操作するためのプロトコル(手法)です。主にlinuxなどで用いられます。従来は、TelnetやFTPなどのプロトコルが用いられてきましたが、これらには暗号化の仕組みがないので盗聴などのリスクがありました。SSHでは、公開鍵暗号方式によって安全に通信を行うことができるので、現在広く用いられています。GitHubでは、SSH接続だけではなく、HTTPS接続も利用可能なようですが、SSH接続の方が手間が少ないという利点があるそうです。
SSHクライアントとSSHサーバ
SSH接続の際に、端末側で利用者が操作するソフトウェアのことをSSHクライアントといいます(遠隔操作する側)。一方で、サーバ側で接続を受け付ける方のソフトウェアをSSHサーバといいます。一般的に、SSHサーバはTCPの22番ポートでクライアントの接続を待ち受けています。
Gitの環境構築
まず、Gitの公式サイトにアクセスし、ページ内の"Download for Windows"をクリックします。ダウンロードされたインストーラを起動し、指示に従ってインストールを進めます。
インストールが終わったら、GitBashというアプリがダウンロードされているはずなので、こちらを起動します。立ち上がったら以下のコマンドを実行してください。ユーザ名とメールアドレスは自分で好きなやつを決めてください。
git config --global user.name "ユーザー名"
git config --global user.email "メールアドレス"
登録情報は以下の2つのコマンドで確認できます。
git config user.name
git config user.email
GitHubにSSH接続する手順
Gitの環境構築が終わったら、実際にSSH接続を行うための設定を行います。
① 公開鍵・秘密鍵の発行
GitBashにて以下を実行します。保存場所の確認やパスワードの設定確認が行われますが、全部Enterで飛ばしてOKです。
ssh-keygen -t rsa
ls ~/.ssh
を実行し、id_rsa(秘密鍵)とid_rsa.pub(公開鍵)が生成されていることを確認しましょう。次の手順で公開鍵をGitHubにアップロードしますが、秘密鍵は漏洩しないように大切に保管しましょう。
② GitHubに公開鍵をアップロード
作成した2つ鍵のうちid_rsa.pub(公開鍵)の方をGitHubにアップロードしていきます。以下のコマンドを実行し、id_rsa.pubの内容をコピーします。
clip < ~/.ssh/id_rsa.pub
次に、GitHubにアクセスし、「Settings」->「SSH and GPG keys」->「New SSH key」をクリックします。すると、Title, Key type, Keyの3つの情報を入力する画面が表示されるので、以下のように入力します。
Title | Key type | Key |
---|---|---|
自分の好きなやつ | Authentication Key | 先ほどコピーした公開鍵を張り付ける |
③ GitHubへのSSH接続の確認
最後にSSH接続の確認を行います。GitBashで以下のコマンドを実行してください。途中で接続を続けるか確認されるので"yes"と入力します。
ssh -T git@github.com
以上を実行して、自分のユーザ名(githubの方)が表示されたら接続完了です。