PyCharm (JetBrains) で複数の private key を github で使う
目的達成のために .ssh/config を使いたい
環境
- Windows 10
- PyCharm Professional 2018.3
- git コマンドは cygwin のものを使用
PyCharm の設定は ?
File->Settings->Git で Path to Get executable を cygwin の git.exe に、SSH executable を Native にする。ここで、どこの git を実行するかは設定できるけど Native がどこの ssh.exe を呼び出すかがわからないので、どこに .ssh/config を置けばいいのかもわからない。
ssh.exe がどこにあるのか調べる
試しにコマンドプロンプトから ssh.exe がどこにあるのか、.ssh ディレクトリをどこに置いたらいいのか推測つけてみる。
C:\Users\yamachan>where ssh
C:\Windows\System32\OpenSSH\ssh.exe
C:\Users\yamachan>set HOMEPATH
HOMEPATH=\Users\yamachan
C:\Windows\System32\OpenSSH\ssh.exe であれば、たぶん \$HOMEPATH/.ssh を読みに行くはず(ディレクトリからして Windows 付属の OpenSSH みたいなので)。そして、たぶん PyCharm もコマンドプロンプトと同じ PATH で ssh.exe を実行(すなわち C:\Windows\System32\OpenSSH\ssh.exe)し、 \$HOMEPATH/.ssh を読みに行くはず。
$HOMEPATH の下に .ssh/config を置いてみる
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
Host github.com-piwikjapan
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa-piwikjapan
ドメインが github.com-piwikjapan だったら、id_rsa-piwikjapan という秘密鍵に切り替えられます。実際実験した git レポジトリは、このような名前です:
[email protected]:piwikjapan/kusanagi-vagrant.git
PyCharm から github に push すると Bad owner or permissions on ...
- 別の ID で作ったので、ID わかるところだけ白塗りにした
上記 .ssh/config を設定し PyCharm から github.com-piwikjapan を使って、pull なり push なりすると右下にペロっと表示が出ます。この Bad owner or permissions を誰が出しているか、ですが、試しにコマンドプロンプトから適当な Linux に ssh ログインしてみます:
C:\Users\yamachan>ssh 10.233.3.35
Bad owner or permissions on C:\\Users\\yamachan/.ssh/config
同じメッセージです... つまり PyCharm からも C:\Windows\System32\OpenSSH\ssh.exe を使っていることがわかり、喪目論見通り .ssh/config を読み込みにいっているようです(いままで ssh 10.233.3.35 としても Bad owner or permissions なんて出なかった)。
結局わかったのが cygwin 環境で .ssh/config を作り、\$HOMEPATH(C:\Users\yamachan)に cygwin の cp コマンドでコピーしたのがまずかったようです。cygwin 環境の .ssh/config から、\$HOMEPATH へのコピーを explorer で行うと Bad owner or permissions はでなくなりました。
次は SSH Keyboard Interactive という謎の画面が
Bad owner or permissions がなくなったけど、github.com-piwikjapan に push しようとすると、お次は SSH Keyboard Interactive という小窓がでてきて何やら入力しろといわれます、無視して OK をクリックすると:
Host key verification failed と右下にペロっと表示されよります。Host key verification とあるので、もしやと思い、コマンドプロンプトから:
C:\Users\yamachan>ssh github.com-piwikjapan
The authenticity of host 'github.com (192.30.255.112)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,192.30.255.112' (RSA) to the list of known hosts.
PTY allocation request failed on channel 0
Hi piwikjapan! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.
C:\Users\yamachan>
.ssh/known_hosts がなかったんですね。ここまできて、github.com-piwikjapan でも push 可能となりました。
Author And Source
この問題について(PyCharm (JetBrains) で複数の private key を github で使う), 我々は、より多くの情報をここで見つけました https://qiita.com/selfnavi/items/8c54888343978f0e3198著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .