2020年7月3日金曜日

vscodetogit

event_note7月 03, 2020 editBy sbin forumNo comments

GitlabにVScodeからgit pushできない。

正確にはsshでgitできない。
もともと Powershell からは ssh していた。通常は、
C:\Users\windowsnoid.ssh
にキーがあって、既にSSHしていた。でも Permission denied (publickey). と怒られる。
WEBに倣ってconfigを書いてみた。
Host gitlab
User git
HostName mygitlab.or.jp
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes
やっぱり怒られる。テストをしてみよう。

User.ssh\config の問題

:\Users\xxx\Documents\VScode\sample>ssh -T gitlab
C:\Users\xxx/.ssh/config: line 1: Bad configuration option: \377\376h
C:\Users\xxx/.ssh/config: terminating, 1 bad configuration options
これは echo null > config とかやってファイルを作ると UTF-16 のファイルができてエラーとなる。
なんてこった。 UTF-8 にしたら治った。
C:\Users\windowsnoid\Documents\VScode\sample>ssh -T gitlab
Enter passphrase for key 'C:\Users\windowsnoid/.ssh/id_rsa':
Welcome to GitLab, @windowsnoid!
お、成功した。でも git push すると、Permission denied (publickey). は変わらない。
実はVScode はソース管理で Git が使えるのに、お呪いが必要だった。
あんまり好きじゃないけど、 ssh-agent を使わないといけない。 git push した時にパスフレーズを
聞いてくれないから、サービスから OpenSSH Authentication Agent 自動起動にした。


ssh-add
ssh-add -l
そして肝心なお呪いを
git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"
これをやらないと失敗が続く。
ソース管理の … から git push できるようになった。めでたし、めでたし。

0 comments:

コメントを投稿