2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GitHubへのSSH接続手順

Posted at

はじめに

GitHubへSSHを利用した接続手順をメモとして残します。

環境

Windows10

事前準備

GitHubのアカウントが作成済みであること。
PCにGit for Windowsがインストール済みであること。

全体の流れ

① 公開鍵・秘密鍵の作成
② configファイルの作成
③ GitHubに公開鍵を登録
④ 接続確認
⑤ 鍵をssh-agentへ登録

①公開鍵・秘密鍵の作成

Git Bashを起動し、以下のssh-keygenコマンドより公開鍵・秘密鍵を生成します。

ssh-keygen -t rsa -b 4096 -C "hogehoge@fuga.com"
# -C メールアドレス

鍵の保存場所を聞かれるので、問題なければそのままEnter。
変更した場合は:以降に任意のパスを入力します。

Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/{user name}/.ssh/id_rsa): 

パスワードの設定を聞かれるので、任意のパスワードを入力します。
※空でも登録できますが、セキュリティ面を考えると設定した方が良さそうです。

Enter passphrase (empty for no passphrase):

入力したパスワードを再入力します。

Enter same passphrase again:

以下のメッセージが表示されればOKです。

Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
The key fingerprint is:
SHA256:VoikRYkzotb7ds0dmdtu/QhNu0DePN9Lla5LTjtBCM8 hogehoge@fuga.com
The key's randomart image is:
+---[RSA 4096]----+
|     o+.         |
|  . ++.. o       |
| ....o. . = .    |
|.. .     . E .  .|
|.   .   S   = ...|
|   .   .   * *...|
|    .   o . BoOo |
|     o . o o+*+*.|
|    . .     o*=.*|
+----[SHA256]-----+

指定したパス(デフォルトでは/c/Users/{user name}/.ssh)にid_rsa(秘密鍵)、id_rsa.pub(公開鍵)が作成されます。
image.png

configファイルの作成

①で作成した鍵と同じディレクトリにconfigファイルを作成します。
image.png

configファイルをエディタで開き、下記を貼り付けます。

Host github
  HostName github.com
  IdentityFile ~/.ssh/id_rsa
  User git

# IdentityFileは秘密鍵のパス

ファイルを保存したらconfigファイルの設定完了です。

③GitHubに公開鍵を登録

GitHubにログインして、右上のアイコンからSettingsをクリックします。
image.png

SSH and GPG keys > New SSH keyを選択して公開鍵を登録します。
Title・・・任意の文字列
Key・・・生成した公開鍵の内容(公開鍵ファイルをエディタで開き、全選択・コピーし、そのまま貼り付け)

image.png

④接続確認

Git Bash上から以下のコマンドを入力します。

ssh -T git@github.com

初回は接続確認を聞かれます。
問題ないのでyesを入力しEnter。

Are you sure you want to continue connecting (yes/no)?

パスワードの入力を求められるので、①で設定したパスワードを入力してEnter。

Enter passphrase for key '/c/Users/test1/.ssh/id_rsa':

以下のメッセージが表示されれば接続OKです!

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

⑤鍵をssh-agentへ登録

④までの内容でSSH接続の設定は完了ですが、毎回パスワードの入力を求められるので、省略したい場合はssh-agentを利用します。

.sshがあるディレクトリと同階層に.bashrcファイルを作成します。
作成したファイルをエディタで開き、以下を入力します。

# ssh-agent
eval `ssh-agent`
ssh-add

Git Bashを再起動するとパスワードの入力を求められます。
ここで認証が成功すれば、以降はパスワードの入力を省略できるようになります。
※ターミナル単位での永続化になるので、別のターミナルを開いたり、一度ターミナルを閉じて再度開くと最初のパスワード入力は発生します。

2
4
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
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?