38
29

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 5 years have passed since last update.

Windows7からGitHubへSSH接続する手順(プロキシ環境有)

Last updated at Posted at 2016-02-28

やりたいこと

  • Windows7 から GitHub へSSH接続する。

前提環境

  • プロキシ環境有: $proxyserver:$port
  • OS: Microsoft Windows 7 Professional 6.1.7601 Service Pack 1 (SP1) ビルド 7601 x64
  • GitHub for Windows インストール済み

手順

クライアント(Windows7)の公開鍵(id_rsa.pub)を生成

Git Bash(C:\Program Files\Git\git-bash.exe)で下記のコマンドを実行します。

変数 説明
mail@example.com 使用する GitHub アカウントのメールアドレス
$user_profile ユーザープロファイル
$fingerprint フィンガープリント
git-bash.exe
ssh-keygen -t rsa -C "mail@example.com" # <= 実行するコマンド
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/$user_profile/.ssh/id_rsa): # <= 空Enter
Enter passphrase (empty for no passphrase): # <= 公開鍵のパスフレーズを入力してEnter
Enter same passphrase again: # <= 公開鍵のパスフレーズを入力してEnter
Your identification has been saved in /c/Users/$user_profile/.ssh/id_rsa.
Your public key has been saved in /c/Users/$user_profile/.ssh/id_rsa.pub. # <= 生成された公開鍵
The key fingerprint is:
SHA256:$fingerprint mail@example.com
The key's randomart image is:
+---[RSA 2048]----+
|        .. .o=== |
|       ..   =.o +|
|        .. = B  o|
|       o  o O + .|
|      o S  * = .o|
|       o    = o.=|
|      .    . + +=|
|            = ++=|
|           . ..*E|
+----[SHA256]-----+

公開鍵(id_rsa.pub)をGitHubへ登録

  1. GitHub にログイン
  2. SSHキーの設定画面(SSH Keys)を開く。
  3. [New SSH Key]ボタンを選択
  4. Title: 任意 (例: homepc1)
  5. Key: 先ほど生成した公開鍵(c:\Users\$user_profile\.ssh\id_rsa.pub) をテキストエディタで開きコピー&ペースト
  6. [Add SSH Key]ボタンを選択

c:\Users$user_profile\.ssh\config の設定

  1. c:\Users\$user_profile\.ssh\config を開く
  2. 下記のように設定する
変数 説明
$user_profile ユーザープロファイル
$proxyserver プロキシサーバー
$port ポート
config
Host github.com
  User git
  Hostname ssh.github.com
  Port 443
  IdentityFile "c:\Users\$user_profile\.ssh\id_rsa"
  ProxyCommand connect.exe -H $proxyserver:$port %h %p

Port: 22 ではなく 443
IdentityFile: フルパス。Windowsの場合はパスにスペースが含まれる場合があるのでダブルコーテーション付き
ProxyCommand: プロキシ環境では設定が必要

c:\Users$user_profile\.ssh\config にシンボリックリンクを貼る

コマンドプロンプト(cmd)で下記のコマンドを実行します。

  • $user_profile: ユーザープロファイル
cmd.exe
mklink "C:\Program Files\Git\etc\ssh\ssh_config" "C:\Users\$user_profile\.ssh\config" :: <= 実行するコマンド
C:\Program Files\Git\etc\ssh\ssh_config <<===>> C:\Users\$user_profile\.ssh\config のシン
ボリック リンクが作成されました

ssh_config が既に存在している場合はリネームしてください。(例: ssh_config.org)

sshコマンドでGitHubへ接続確認

Git Bash(C:\Program Files\Git\git-bash.exe)で下記のコマンドを実行します。

変数 説明
$id GitHub id
$user_profile ユーザープロファイル
git-bash.exe
ssh -T git@github.com # <= 実行するコマンド
Enter passphrase for key 'C:\Users\$user_profile\.ssh\id_rsa': # <= 公開鍵のパスフレーズを入力してEnter
Hi $id! You've successfully authenticated, but GitHub does not provide shell access.

接続NGの場合は ssh -vT git@github.com でデバッグ。

完了

参考文献

38
29
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
38
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?