物理のベンチ by mitta

学んだことを発信します。備忘録も書きます。間違いがあればコメントください。

VSCodeとgithubのSSH接続をした時の備忘録

はじめに

VSCode管理しているワークスペースをgitで同様に管理できるのはよく知られている。
筆者は普段仕事(Private,HTML)用しか使っていなかったため、それ以外(Public,SSH)で管理するためにややてこずった。
今後もあり得るので備忘録を残しておく。備忘録なので説明不足は悪しからず。

環境

※ユーザ名はいずれもjanedoe

計算用(ホスト)

OS -> CentOS7
git -> 1.8.3.1

入力用(ゲスト)

OS->Win10
VSCode

方法

状況

VSCodeのリモートエクスプローラ機能でホストのソースコードを管理したい

ホストPCでgitのSSH設定

① 公開鍵と秘密鍵を作る
② /home/janedoe/.ssh/configに以下の設定を書き加える

Host github
    HostName github.com
    User git
    IdentityFile /home/ janedoe /.ssh/id_ssh_key

この時ホスト名を「github」にするところがポイント。なぜか「git@github.com」だと後々のSSHが失敗する。
③ 公開鍵(.pubの方)の中身をhttps://github.com/settings/keysから「newkey」として貼り付け
SSH接続が通るか確認

$ ssh -T github
Hi junedoe! You've successfully authenticated, but GitHub does not provide shell access.

上の返答があればOK

VSCodeでgit設定

① リモートエクスプローラからホストのプロジェクトファイルを開く
この時、ホスト・ゲスト間でも公開鍵認証を通しているととても楽
② [Ctrl]+[Shift]+[G]でソース管理タブを開いてgitを接続する
③ プロジェクトファイル/.git/configを開いてurlの部分を変更する

[remote "origin"]
	url = github:janedoe/プロジェクト名.git
	fetch = +refs/heads/*:refs/remotes/origin/*

※ここで.ssh/confのHost名の「github」が参照されるので注意
※よく$ git remoteで変更する記事では「git@github.com」で変更しているのでつられないこと

まとめ

・gitのSSH接続はHost名で通らない可能性がある
・.ssh/configのHost名と.git/configのurlのHost部分は合わせておく