web-dev-qa-db-ja.com

GitKrakenの無効なSSHキー

OK、だから私は別の部屋のサーバーのどこかにgitリポジトリを持っています。以前にSourceTreeを使用していましたが、index.lockの問題で非常に迷惑であり、明らかにこれはほとんどの開発者が経験している最も一般的な問題ですSourceTree。私は数分から半日待つとそれ自体が修正されることがわかりましたが、待つ時間がなく、gitクライアントを使用する目的をまったく無効にしていると思います。

しかし、これはSourceTreeについてのものではありません...だから、GitKrakenを見つけました。唯一の問題は、他の部屋のサーバーにプッシュおよびプルできないことです。 sshキーとそれを構成しました。 github/bitbucketアカウントにプッシュ/プルできますが、隣の部屋にはできません。このような問題に遭遇したことがある場合、または私の問題をどのように解決できるかについて少しだけ考えている場合は、お知らせください。サポートチームとは既に連絡を取りましたが、対応は非常に少ないです。

25
shaNnex

Macでssh-add -k ~/.ssh/id_rsaを実行しないと、不正なsshキーがあるというエラーが表示されるようです。

これはUbuntu(18.04)でも動作するようです。

30
gabeio

MacOSでは、プライベート/パブリックキーペアがあり、GitKrakenはそれを使用してbitbucketリポジトリにプッシュしました。公開鍵ファイル〜/ .ssh/id_rsa.pub形式は、ジョシュパターソンの回答に似ています:

ssh-rsa AAAAB3NzaC1yc2...8swZ0Ew==

2つ目のbitbucketリポジトリを作成しました。ある時点で、gitKrakenは最初のレポにプッシュできなくなりました。ターミナルコマンドラインから最初のレポジトリにgit Pushを実行し、パスフレーズを手動で入力することもできます。

GitKrakenは、「構成されたSSHキーは無効な形式です。キーが有効でRSAタイプのキーであることを確認してください」と述べました。

Coming Sunの回答と同様に、GitKrakenの設定/認証/全般に移動しました。 Coming Sunの回答とは異なり、私はすでに秘密/公開キーを持っているため、新しいペアを生成したくありませんでした。代わりに、「ローカルSSHエージェントを使用」を選択しました。これによりGitKrakenが修正されました。

12
beepscore
  1. GitKraken->設定->認証->新しい秘密/公開キーを生成します;
  2. 新しい公開キーをgitサーバーに追加します。
9
Corning Sun

すでにたくさんの答えがあり、それらのほとんどは非常に役立つと思います。答えが実際に問題を完全に解決するとは思わないため、ここにさらに情報を追加します。

これは、最初からMacOSに座って解決するためにやったことです。

  1. ssh-keygenを実行してキーを生成します。パスフレーズを提供しました。
  2. ssh-add -K ~/.ssh/id_rsaを実行して、ローカルsshエージェント内にIDを保存します。 これは重要。ここでは、大文字の-Kであることに注意してください。これは、ローカルsshエージェント内にもパスフレーズを保存することを意味します。これにより、 パスフレーズをキーチェーンに保存 ので、再作成する必要はありません-常にきちんと入力してください!
  3. Gitkraken内 、「設定->認証...->一般」に進みます
  4. 「ローカルSSHエージェントを使用する」をチェックします。これにより、Gitkrakenはステップ2でエージェントを使用するようになります。これを行わない場合、Gitkrakenは独自のバンドルされたsshエージェントを使用し、これがほとんどの人に問題を引き起こす/
  5. ~/.ssh/id_rsa.pub公開キーをサーバー(bitbucket.org、Azure devops、githubまたはw/e)に追加します。
  6. これで、ターミナルからgit fetchを実行するか、Gitkrakenからgit fetchを実行すると、両方が機能するはずです。 Gitkrakenは、認証に成功するように設定したコンピューター独自のsshエージェントを使用します。

これが助けになることを願っています。

更新:ssh-add -K ~/.ssh/id_rsa~/.bash_profileに含めて自動的にロードする必要がありました。そうしないと、コンピューターを再起動するたびにそのコマンドを実行する必要があります。

9
Jim Aho

私はgabeiosの回答を組み合わせて使用​​し、「ローカルsshエージェントを使用」オプションをオン/オフすることで作業を開始しました(gitkraken設定>認証>「ローカルsshエージェントを使用」)。

私はそれをオフにしてガベイオスの答えを試してみましたが、うまくいきませんでしたが、それをオンにしてガベイオスの答えを使って再試行しました。何らかの理由で、この2つの組み合わせがうまく機能しました。私はマックです。それが役に立てば幸い。

3
Tom Mac

gabeioの答えは機能します。ターミナルで毎回ssh-add -K ~/.ssh/id_rsaを呼び出さないようにするために、プロファイルファイルに追加できます。

~/.bash_profileに配置できます:

ssh-add -K ~/.ssh/id_rsaをyour~/.bash_profileの中に入れます

ただし、この行を実行するには端末を開く必要があります。

私の場合、/etc/profileに追加しました。 ssh-add -K ~/.ssh/id_rsaの下部に/etc/profileという行を追加します。ターミナルの指示は次のとおりです。

  • ファイルの許可を変更します、$Sudo chmod 644 /etc/profile
  • ファイル$Sudo nano /etc/profileを編集します
  • この行をファイルの最後に追加しますssh-add -K ~/.ssh/id_rsa
  • ファイルを閉じて保存します
  • リブート。

毎回端末を開かなくても機能します。それが役立つことを願っています。

1
LIN Hongbin

したがって、これが他の人(または私が忘れてしまった私)を助ける場合、GIT Krakenはその公開鍵形式について非常にうるさいようで、標準形式について私が考えるものをサポートしていません。通常、次のようなキーが表示されます。

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20181204"
AAAAB3NzaC1yc2EAAAABJQAAAQEA5kpsxjtSZ4kMyKIBy0ASQShN/BSAEa7d4lrL
...
hA2TX0L2fLKDkpzCngkDgGbLDxj5dXTN4gpnZdr7lzMciFQu0uhfTLmeYgi1nFOi
KfJ+cQWg3uOHQ0zd8/2GyvfARWy3nZDFoLSQTrbErkX8swZ0Ew==
---- END SSH2 PUBLIC KEY ----

Git Krakenはこの形式を主張しているようです:

ssh-rsa AAAAB3NzaC1yc2...8swZ0Ew==

これが「同じ」キーであることがわかりますが、Git Krakenが満足するためには、よりシンプルな形式である必要があります。

ありがとう、ジョシュ

1
Josh Patterson