Edited at

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

More than 1 year has passed since last update.


やりたいこと


  • 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 でデバッグ。


完了


参考文献