読者です 読者をやめる 読者になる 読者になる

intellij13 でGitHubのPrivateリポジトリへpushするとエラーとなる

intellij13 でGitHubのprivateリポジトリへpushを実行した際に何故か下記のようなエラーとなりうまくpushできない事象に悩まされていました。

使用している環境は以下のとおりです。

GitHubへはSSHで接続しています。

[bash] git push --progress origin dev:dev java.io.IOException: Authentication failed: at org.jetbrains.git4idea.ssh.SSHMain.authenticate(SSHMain.java:283) at org.jetbrains.git4idea.ssh.SSHMain.start(SSHMain.java:157) at org.jetbrains.git4idea.ssh.SSHMain.main(SSHMain.java:137) fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. [/bash]

terminalからは同様のコマンドで正常にpushできるし、pullも問題なくできるので何が原因やらと悩んでいたのですが、少し設定を変更することでうまくいきました。変更した箇所は Preferences - Version Control - Git にある SSH executable です。この項目を Built-in から native へ変更しました。

intellij13_git

こうすることで無事に intellij13 からpushできるようになりました。

ただ、intellijのヘルプには以下のとおり記述があります。

Use this drop-down list to specify the SSH version to be used with Git. The available options are:

  • Built-in: select this option to have the implementation provided by IntelliJ IDEA used.
  • Native: select this option to have the native implementation used. On some platforms, using the native ssh implementation may cause hang-up problems. In native case, you may need to configure a platform-specific ssh-askpass to receive prompts for passwords.

特定の環境がどのような環境であるかわかりませんが、逆にうまく行かなくなることもあるようです。今回の場合はうまく行っているのでよしとします。