57
74

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.

[Windows 10] Git BashでGitHubにSSH接続

Last updated at Posted at 2019-05-24

何度も引っかかったのでメモ。

前提

  • GitHub登録済み
  • Gitインストール済み
  • Git Bash使用(多分コマンドプロンプトとかでもできる)

秘密鍵・公開鍵生成

Git Bashを使います。現在地は~(/c/Users/[Username])です。以下のコマンドで鍵を生成します。

ssh-keygen -t rsa -b 4096 -f ~/.ssh/[filename]

[filename]にはrsa_githubなど好きな名前を付けましょう。これで、RSA方式の4096bit長の鍵が生成されました。

公開鍵をGitHubに登録する

  1. ブラウザを開き、GitHubのSettings->SSH and GPG keysに行きます。
  2. SSH keysのNew SSH keyをクリックします。
  3. Titleに適当な名前を付けます。
  4. 下のKeyに公開鍵を貼り付けるのですが、ここでGit Bashの方に戻ります。

Git Bashで.sshフォルダに移動します。

cd .ssh

そこでlsすると、[filename][filename].pubの二つのファイルがあると思います。.pub有りが公開鍵、.pub無しが秘密鍵です。公開鍵の内容をコピーします。catで表示してコピーでもいいですが、以下のコマンドが便利です。

clip < ~/.ssh/[filename].pub

これでクリップボードに公開鍵がコピーされました。そして、ブラウザに戻りましょう。4.で説明したKeyに公開鍵をペーストします。ペーストしたら、Add SSH keyで保存します。これで、GitHubでの操作は終わりです。

SSH接続の設定をする

Git Bashで.ssh直下にconfigファイルを作ります。

touch config

あとはvimなりatomなり好きなものでconfigを編集します。自分はatom使いたいので、

atom config

で、atomで開きます。
vimの場合は,

vi config

編集アプリで以下のように書き込みます。

config
Host github
    HostName github.com
    IdentityFile ~/.ssh/[filename]
    User git

左の空白はtabです。
さらに、windowsではssh-agentaddする必要があります。ssh-agentを起動します。

ssh-agent bash

ssh-agentに先ほど生成した秘密鍵を登録します。

ssh-add ~/.ssh/[filemname]

登録できたか確認します。

ssh-add -l

鍵の情報が表示されていればOKです。

接続の確認

それでは、接続できるか確認してみましょう。

ssh -T git@github.com

これで、以下のように表示されていれば成功です。

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

GitLabでもやることは大体一緒です。~/.ssh/のところは,鍵を作りたい好きな場所でよいです。僕はGit Bash起動してすぐの場所がいいので,ここに作りました。

57
74
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
57
74

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?