2016-04-05 9 views
0

私の個人的なプロジェクトのほとんどは、アトラシアンによってBitBucketに保存されています。当然の選択として、私はWindows上でgit GUIクライアントとしてSourceTree app(その製品)を使用しています。私はそれに満足しています。 ssh gitが利用可能なプロジェクトの場合、私はsshhttpsよりも優先します。 SourceTreeは、BitBucketでホストされているプロジェクトで非常に効果的です。 OpenSSHまたはPuTTYの両方のsshエージェントが用意されていますが、そのデフォルトの選択はPuTTY/Plinkです(おそらく、PuTTYはWindowsに詳しい)。GitLabは、Pageantにロードされたキーでは動作しませんか?

最近、自分のサーバーでいくつかのプロジェクトをホストするように要求しました。最初はGitLab opensourceを使っているgitサーバーです。私はhttpsを使ってここでホストされているプロジェクトでSourceTreeを使うことができますが、sshになると、SSHエージェントの唯一の選択はOpenSSHです。 ~/.ssh/id_rsa

  • PuTTY鍵生成にはPuTTYに変換

    • ロードをします。(configに指定されていない限り)それが使用する唯一の鍵ペアは、私が試した~/.ssh/id_rsa.pub~/.ssh/id_rsa%USERPROFILE%\.ssh\

      に位置していますフォーマット(.ppk)ページェント(PuTTYの認証エージェント)へ

    • ロード.ppkを提出。

    キーが読み込まれ、Pageantによってメモリに保持されていても、サーバーとの接続は常に失敗しました。 git: fatal: Could not read from remote repository。それを動作させる唯一の方法は、ssh-agentssh-add(OpenSSHと一緒に)を開始することです。

    私はPageantがバックグラウンドで通常動作しているので、私はそれを使うほうが便利です(例えば、秘密鍵を開くためのキーフレーズは長く複雑ですが、私はそれを覚えていません。 OpenSSHの場合、cmdコンソールは私にそれを貼り付けることができません、あまりにも悪いです。

    OpenSSHの代わりにPuTTY経由でGitLabへのssh認証を行う方法はありますか?

    答えて

    3

    plinkを使用する前にPuTTYを使用してSSHサーバーに接続しましたか?理由がない場合は、plinkがサーバーへの接続を拒否している可能性があります。これは、sshホストキーがまだ検証されていないためです。もう1つの理由は、SSHサーバーがPuTTYでサポートされていない暗号を必要とすることです。 plinkと同じバージョンのPuTTYで接続しているかどうかだけを知ることができます。

    この問題を回避するためにTortoiseGitPlink(TortoiseGit)を使用すると、ホストキーを受け入れるかどうかを尋ねるメッセージボックスがポップアップ表示されます。

    関連する問題