3
0

はじめに

Githubのリモートリポジトリからpushやpullなどをするためには、ユーザー名とアクセストークンを毎回入力するめんどくさい過程が必要です。
そのため、今回はSSH Keyを活用して、この過程を省略する方法を整理しようと思います。

SSH (Secure Shell)

ネットワークに接続された機器を遠隔操作・管理するとき、セキュリティを維持するために使用する暗号化されたリモート接続プロトコルです。
SSH Keyは、秘密鍵と公開鍵をペアとして使います。

SSH Keyを生成

LinuxやmacOSはターミナル、WindowsにGit bashやPowerShellなどで、以下のコマンドを実行し、キーファイルを生成します。

$ ssh-keygen

コマンドを実行する前に、すでにキーが存在しないか確認してください。

コマンドを実行すると、以下のように2つのファイルが生成されます。

$ ls ~/.ssh/
id_rsa  id_rsa.pub 

id_rsaは秘密鍵です。
他人が見られないように注意する必要があります。

id_rsa.pubは公開鍵です。
この後のGithubのSSH Key設定に使用します。

GithubにSSH Keyを設定

Githubにログインした後、右上のプロフィールアイコンをクリックするとメニューが表示されます。
メニューの中で「Settings」をクリックします。
image.png

Settingsの画面が表示されたら、左のメニューで「SSH and GPG Keys」を探してクリックします。
image.png

新たなSSH Keyを生成するため、「New SSH Key」ボタンをクリックします。
image.png

「Title」は適切に入力、「Key」はid_rsa.pub(公開鍵)ファイルの内容をコピーして入れます。
その後、「Add SSH Key」ボタンをクリックして設定を完了します。
image.png

SSH接続を確認

以下のGithubのドキュメントに接続確認方法が作成されています。

接続確認方法を整理すると
まず、ターミナルで、以下のコマンドを入力して実行します。

$ ssh -T git@github.com

以下のようなメッセージが表示される場合

The authenticity of host 'github.com (IPアドレス)' can't be established.
ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])?

表示されるメッセージのフィンガープリントが、GitHub の公開キー フィンガープリントと一致することを確認します。

問題なければ、「yes」と入力します。
最後に以下のようなメッセージが出力されたら完了です。

Hi ユーザー名! You've successfully authenticated, but GitHub does not provide shell access.

その他

SSHでリポジトリをクローンすることができます。
image.png

参考

3
0
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
3
0