LoginSignup
1
2

More than 1 year has passed since last update.

TortoiseGitで、秘密鍵と公開鍵の仕組みでアクセスする際に、終了コード 128 が出る

Last updated at Posted at 2021-02-05

症状

  • フェッチ等の画面で、Putty 鍵の自動ロードがグレーアウトしている。
  • 以下のようなエラーが出る
TortoiseGit.
git.exe fetch -v --progress "****"
****: Permission denied (publickey,keyboard-interactive).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.


gitは正常に終了しませんでした (終了コード 128)

設定は、
ToitoiseGit -> 設定 -> ネットワーク -> SSHクライアントに、Git のssh.exeを指定。
ToitoiseGit -> 設定 -> リモート -> Putty 鍵に、秘密鍵から生成した PUTTY鍵 を指定。

解決方法

  • ToitoiseGit -> 設定 -> ネットワーク -> SSHクライアントに、ToitoiseGitのTortoiseGitPlink.exeを使う。

そうすると、Putty 鍵の自動ロードのチェックが付けられるようになる。チェックを付けることで、上記のリモート -> Putty 鍵の設定が有効になり、アクセスする時にこの値を読み取り、画面右下のシステムトレイの Pagent に key を自動登録してくれる、という仕組みらしい。
(画面右下のPagentは、TortoiseGitPlink.exeの一部であるもよう。)

他の解決方法としては、以下も考えられる。

  • Git の ssh.exe を使う場合は、ユーザフォルダの.sshに適切な名前の秘密鍵を置いてやる
  • 自動ロードを使わない場合は、TortoiseGitPlink.exe にした上で、画面右下の Pagent に手動でAdd Keyしてやる

ちなみに、ユーザー情報は編集不要。編集してもリモート側からはその鍵のユーザとして扱われる。

ハマった発端

逆に、新規に作成した Git リポジトリから、何も設定していないのに認証が通って、プライベート設定しているリモート側から clone やら fetch やらできてしまって、焦って色々やったら今度は全く繋がらなくなったという話。(同じPCで最初の環境構築をやったので、その設定が Pagent に残っていて、暗黙にそのキーで接続にいって、成功していたというオチ)

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2