Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
62
Help us understand the problem. What are the problem?

posted at

updated at

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

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

前提

  • 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起動してすぐの場所がいいので,ここに作りました。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
62
Help us understand the problem. What are the problem?