Windows
Git
SSH
VisualStudioCode

[Windows] Visual Studio CodeでGithub・Gitlab・Bitbucketそれぞれにssh接続する

More than 1 year has passed since last update.


この投稿に至るまでの経緯


  • Visual Studio CodeでGithubにHTTPS接続していたがssh接続に切替

  • 過去の記事を参照してPuttyでssh接続

  • 後日、Gitlabでもssh接続を追加。Gitlabにgit clone時に途中パスワード聞かれた状態でフリーズした

  • 複数ssh接続する際に問題が出た際にWin32-OpenSSHをsshで使うとそれぞれに接続できた

以下、備忘録として各種インストール・設定を記載


各種環境


  • windows 10

  • Visual Studio Code 1.20.1

  • Win32-OpenSSH v1.0.0.0-Beta

  • Git for Windows 2.16.2


各種インストール・設定


1. Git for Windows

インストール時の設定

g1.PNG

g2.PNG

g3.PNG

g4.PNG

g5.PNG

g6.PNG

g7.PNG

g8.PNG

g9.PNG


2. Win32-OpenSSH



  • OpenSSH-Win64.zipをダウンロード

  • 解凍後、フォルダ名をOpenSSHとして「C:\」にコピー


3. 環境変数追加


  • 「コントロールパネル」→「システム」→「システムの詳細設定」→「環境変数」選択

  • システム環境変数の「Path」に「C:\OpenSSH」を追加

  • システム環境変数に新規で変数名「GIT_SSH」、変数値「C:\OpenSSH\ssh.exe」を追加


4. git config


powershell

※、名前とメールを設定

git config --global user.name "[your_name]"
git config --global user.email [your_mail_address]@[your_mail_domain]


5. ssh-keygen


powershell

cd ~/

cd .ssh
.sshがない場合は作成

※、各サービスで登録したメールを設定
ssh-keygen -t rsa -f id_rsa_for_github -b 4096 -C "[your_mail_address]@[your_mail_domain]"
ssh-keygen -t rsa -f id_rsa_for_gitlab -b 4096 -C "[your_mail_address]@[your_mail_domain]"
ssh-keygen -t rsa -f id_rsa_for_bitbucket -b 4096 -C "[your_mail_address]@[your_mail_domain]"

※、ここではパスワードを入れずにEnterのみ入力して終了
Enter passphrase (empty for no passphrase):
Enter same passphrase again:



6. config追加

.sshに「config」ファイルを作成。以下の内容を設定


config

Host github.com

User git
HostName github.com
IdentityFile ~/.ssh/id_rsa_for_github
IdentitiesOnly yes

Host gitlab.com
User git
Hostname gitlab.com
IdentityFile ~/.ssh/id_rsa_for_gitlab
IdentitiesOnly yes

Host bitbucket.org
User git
Port 22
Hostname bitbucket.org
IdentityFile ~/.ssh/id_rsa_for_bitbucket
IdentitiesOnly yes



7. ssh公開鍵の登録(Github)


powershell

cat id_rsa_for_github.pub | clip


上記コマンドで公開鍵コピー後、以下の公式の手順に従ってキーを設定

github.PNG


8. ssh公開鍵の登録(Gitlab)


powershell

cat id_rsa_for_gitlab.pub | clip


上記コマンドで公開鍵コピー後、以下の公式の手順に従ってキーを設定

gitlab.PNG


9. ssh公開鍵の登録(Bitbucket)


powershell

cat id_rsa_for_bitbucket.pub | clip


上記コマンドで公開鍵コピー後、以下の公式の手順に従ってキーを設定

gitbucket.PNG


10. sshでの接続確認


powershell

ssh -T github.com

ssh -T gitlab.com
ssh -T bitbucket.org


まとめ


  • Windows環境でgit使用時にssh接続できなかった場合はWin32-OpenSSHを使う

  • GIT_SSHを環境変数で設定する

  • .sshにconfigファイルのみで動くはずなのに、動かなかった原因は未調査