2017-06-28 4 views
1

背景:私はUbuntuの16.04でジェプセン(https://github.com/jepsen-io/jepsen)を実行しようとしています

。私は6台の仮想マシンを作成して(Windows 10台に)、ホスト名をn1、n2、.... n6に置き換えました。ユーザー名とパスワードはすべてのVMで同じです。ジェプセン:SSH問題

今、任意のVMから、私は他のVMに直接sshできます。 (例えば、n6から、私はこのコマンド "ssh n1"を実行するだけで問題なく動作します)。ノードnep、n2、n3、n4、n5にdbを作成できるように、ノード6(ホスト名n6)からノードjepsenツールを実行しようとしています。

これまでのところ、私はjepsenコードを変更していません。私は "lein install"コマンドを使用してコンパイルし、今はそれを実行しようとしています。

[email protected]:~/Desktop/jepsen_cassandra/aerospike$ lein test 

lein test aerospike.core-test 
[email protected]> 

lein test :only aerospike.core-test/counter 

ERROR in (counter) (Session.java:781) 
Uncaught exception, not in assertion. 
expected: nil 
actual: com.jcraft.jsch.JSchException: reject HostKey: n1 at com.jcraft.jsch.Session.checkHost (Session.java:781) 
com.jcraft.jsch.Session.connect (Session.java:342) 
com.jcraft.jsch.Session.connect (Session.java:183) 
clj_ssh.ssh$eval6796$fn__6803.invoke (ssh.clj:118) 
clj_ssh.ssh.protocols$eval6722$fn__6745$G__6713__6754.invoke (protocols.clj:4) 
clj_ssh.ssh$connect.invoke (ssh.clj:401) 
jepsen.control$session.invoke (control.clj:197) 
clojure.lang.AFn.applyToHelper (AFn.java:154) 
clojure.lang.AFn.applyTo (AFn.java:144) 
clojure.core$apply.invoke (core.clj:624) 
clojure.core$with_bindings_STAR_.doInvoke (core.clj:1862) 
clojure.lang.RestFn.applyTo (RestFn.java:142) 
clojure.core$apply.invoke (core.clj:628) 
clojure.core$bound_fn_STAR_$fn__4140.doInvoke (core.clj:1884) 
clojure.lang.RestFn.applyTo (RestFn.java:137) 
clojure.core$apply.invoke (core.clj:624) 
jepsen.core$fcatch$wrapper__8355.doInvoke (core.clj:55) 
clojure.lang.RestFn.invoke (RestFn.java:408) 
clojure.core$pmap$fn__6328$fn__6329.invoke (core.clj:6466) 
clojure.core$binding_conveyor_fn$fn__4145.invoke (core.clj:1910) 
clojure.lang.AFn.call (AFn.java:18) 
java.util.concurrent.FutureTask.run (FutureTask.java:266) 
java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1142) 
java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:617) 
java.lang.Thread.run (Thread.java:748) 
[email protected]> 

lein test :only aerospike.core-test/cas-register 

ERROR in (cas-register) (Session.java:781) 
Uncaught exception, not in assertion. 
expected: nil 
actual: com.jcraft.jsch.JSchException: reject HostKey: n1 
at com.jcraft.jsch.Session.checkHost (Session.java:781) 
com.jcraft.jsch.Session.connect (Session.java:342) 
com.jcraft.jsch.Session.connect (Session.java:183) 
clj_ssh.ssh$eval6796$fn__6803.invoke (ssh.clj:118) 
clj_ssh.ssh.protocols$eval6722$fn__6745$G__6713__6754.invoke (protocols.clj:4) 
clj_ssh.ssh$connect.invoke (ssh.clj:401) 
jepsen.control$session.invoke (control.clj:197) 
clojure.lang.AFn.applyToHelper (AFn.java:154) 
clojure.lang.AFn.applyTo (AFn.java:144) 
clojure.core$apply.invoke (core.clj:624) 
clojure.core$with_bindings_STAR_.doInvoke (core.clj:1862) 
clojure.lang.RestFn.applyTo (RestFn.java:142) 
clojure.core$apply.invoke (core.clj:628) 
clojure.core$bound_fn_STAR_$fn__4140.doInvoke (core.clj:1884) 
clojure.lang.RestFn.applyTo (RestFn.java:137) 
clojure.core$apply.invoke (core.clj:624) 
jepsen.core$fcatch$wrapper__8355.doInvoke (core.clj:55) 
clojure.lang.RestFn.invoke (RestFn.java:408) 
clojure.core$pmap$fn__6328$fn__6329.invoke (core.clj:6466) 
clojure.core$binding_conveyor_fn$fn__4145.invoke (core.clj:1910) 
clojure.lang.AFn.call (AFn.java:18) 
java.util.concurrent.FutureTask.run (FutureTask.java:266) 
java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1142) 
java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:617) 
java.lang.Thread.run (Thread.java:748) 

Ran 2 tests containing 2 assertions. 
0 failures, 2 errors. 
Tests failed. 
:;:

問題(「レインテスト」「CDのエアロスパイク」)しかし、それは私に次のエラーを与えている

単にテストを実行するには、私はジェプセンのWebページでの指示に従っ

まず、コードをそのまま実行しようとしました。しかし、後で()の21行目と22行目に5つのVM(sshに必要)のユーザー名とパスワードを追加しました。しかし、それは問題を解決しませんでした。

私はこの問題を解決するためのあらゆる解決策/ガイドラインを高く評価します。

+0

ようこそSOへようこそ。よく形成された最初の質問に感謝します。私はUbuntuの特定のタイトルを削除する質問を編集したいと思います。質問に固有のubuntuはあまりありません –

+1

こんにちは@ArthurUlfeldt、提案に感謝します。あなたの提案に従って、私はタイトルを変更しました。 – Pallab

答えて

1

このライン

actual: com.jcraft.jsch.JSchException: reject HostKey: n1 at com.jcraft.jsch.Session.checkHost 

はssh接続を開始するシステムは、それが接続だコンピュータのIDを信頼する意思がないことを示しています。だから、パスワード/キーであなたを許さないのは問題ではなく、むしろ反対です。接続を開始するシステムは、接続しているシステムの身元を確認できません。

最も一般的な原因は、過去にこのシステムで置き換えられているのと同じIPまたはホスト名でシステムに接続したことです。 SSHは、別のコンピュータが同じ名前に応答すると、アラームを発し、仲介者の攻撃を危険にさらすのではなく、接続しないことを保証します。これは、システムが本当に置き換えられたときに偽陽性になります。

このシステムからターゲットホストにsshingを試みて、問題なく動作することを確認してください。 もしそうなら、そのシステムのIPを~/.ssh/known_hostsから削除してみてください。あなたの~/.ssh/configファイル内の何かが、おそらくホストキーの競合次の事になるとは思われないため、インスタンス


のための特定のホスト鍵を持って、それを必要とすることによって、このホストに影響を与えることになる場合 も考慮しますチェックは、ホストが使用しているホストキーの種類です。 Jschは、openSSHとは異なるキーセットをサポートするsshの独自の実装です。あなたはその後、JSCHとそのホストキーアルゴリズムのためのGoogleとその上の任意の未解決の問題があるかどうかを確認

ssh -vvv hostname 

... 
debug1: kex: algorithm: curve25519-sha256 
debug1: kex: host key algorithm: ecdsa-sha2-nistp256 

を実行して、システムのホスト鍵のタイプを決定することができます。

+0

また:https://github.com/jepsen-io/jepsen#jsch-auth-errors – birdspider

+0

こんにちはアーサー、答えに感謝します。私はすでにシステムからターゲットホスト(5つのホストすべて、n1、n2、... n5)にsshを試みましたが、問題なく動作しています。 しかし、Jepsenプログラムが接続を確立しようとすると、このエラーが発生しています。 あなたの提案通り、私はシステムの "known_hosts"ファイルを削除しました。しかし、それは役に立たなかった。驚いたことに、 "〜/ .ssh"フォルダの下に "config"ファイルが見つかりませんでした。利用できるファイルは、1)id_rsa、2)id_rsa.pub、3)known_hostsです。 – Pallab

+0

すべてがデフォルトの場合、設定ファイルは存在しません。 –

関連する問題