参号機 Visual Studio Code からNASのGitにpush

一応、先日の記事の手順で、Visual Studio Code からNASに構築した Git サーバーに対して、pullもpushも出来るようになったが、鍵ファイルが使えてないし、コマンドでpull/pushして毎回パスワード入力すれば出来るけど、「変更の発行」ボタンが使えない。これではいささか不便。また、パスフレーズありの鍵ファイルにすると、Visual Studio Codeで「変更の発行」をしたときにパスフレーズ入力する手段がないので、具合が悪いらしい。

ということで、鍵ファイルを使った接続にリトライしてみる。

参考

  • https://reincarnation-plus.gitbook.io/project/other/push_github_ssh
  • http://www.thiroyoshi.mydns.jp/blog/?p=222

あと、gitはSourceTree 入れたときに同梱されてたやつをそのまま使っていたが、それもあんまりよろしくないようだ。(今まではGitHubやAzure DevOpsにhttpsで接続していたので、それだと特に困ることはなかったが)

 

1.鍵ファイルを生成

C:\Users\(ユーザー名)\.ssh>ssh-keygen -t rsa -f (鍵ファイル名)

2.NAS側に公開鍵を登録する

$ cd ~/.ssh
$ vi authorized_keys
(公開鍵の内容を末尾にコピペ)

*既に”authorized_keys”があるので、viで追記したが、必ずしもこの方法でなくてもOK。scpでファイルをアップしてcatで追記とかでもOK。

3.gitでSSH接続するときのコンフィグファイルを作る

C:\Users\(ユーザー名)\.ssh フォルダ内に「config」というテキストファイルを作り、設定を書き込む。

Host (接続に使う名前)
  User (NASに接続するユーザー名)
  Hostname (NASのアドレス)
  IdentityFile "c:/Users/(ユーザー名)/.ssh/(秘密鍵のファイル名)"

上記ファイルへのシンボリックリンクを貼る

> mklink "C:\Program Files\Git\etc\ssh\ssh_config" "C:\Users\<user_name>\.ssh\config"

4.SSH-Agentに鍵ファイルを登録

> ssh-add -k (作った鍵ファイル)

5.SSH-Agentのサービス起動

6..gitconfigファイルにOpenSSHのパスを登録

> git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"

上記コマンドで、Gitが使う、SSHの実行ファイルを指定する。Windows 10 に同梱のOpenSSHを使うので、パスも上記で変わらないはず。

7.Visual Studio Code の設定で、Gitの実行パスを変更

settings.jsonファイル内の下記の箇所にGitのパスを指定。これがSourceTree同梱のままになっていて、少しハマりかけた。

{
    "git.path": "C:\\Program Files\\Git\\cmd\\git.exe",
}

ここまでやったら、Visual Studio Codeから「変更の発行」ボタンが使えるようになったし、パスワードを聞かれることもなくなった。

コメントはまだありません

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA