私は Linux (arch)を使用しており、ssh キーを使用してプライベート bitbucket git リポジトリを使用してこのチュートリアルに従って Spring Cloud Config を構成しようとしていますが、エラーが発生し続けます。
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception
[Request processing failed; nested exception is java.lang.IllegalStateException: Cannot
clone or checkout repository] with root cause com.jcraft.jsch.JSchException: Auth fail
さて、チュートリアルによると、それはうまくいくはずです:
HTTPS とユーザー資格情報を使用しない場合、キーをデフォルトのディレクトリ (~/.ssh) に保存し、URI が SSH の場所 (例: "git@github.com:構成/クラウド構成". ~/.ssh/known_hosts 内のすべてのキーが「ssh-rsa」形式であることが重要です。新しい「ecdsa-sha2-nistp256」形式はサポートされていません。リポジトリは JGit を使用してアクセスされるため、JGit で見つけたすべてのドキュメントが適用されます。HTTPS プロキシ設定は、~/.git/config で設定するか、システム プロパティ (-Dhttps.proxyHost および -Dhttps.proxyPort) を介して他の JVM プロセスと同じ方法で設定できます。
コマンドを使用して作成された、bitbucket-rsa という名前の ~/.ssh フォルダーにプライベート ssh キーがありますssh-keygen -t rsa -b 4096 -C "my-email@provider.com"
。公開鍵は Bitbucket に正しく追加されました。コマンド ラインから問題なくクローン、プル、およびリポジトリからプッシュできるからです。秘密鍵が ssh-agent に追加され、bitbucket.org が known_hosts ファイルに存在します。
config-service プロジェクトの bootstrap.yml は次のとおりです。
spring:
application:
name: config-service
cloud:
config:
server:
git:
uri: "git@bitbucket.org:TarekSaid/my-private-repo.git"
server:
port: 8888
ユーザー名とパスワードで https を使用すると機能しますが、それでも ssh キーを使用したいのですが、どうすれば機能させることができますか?