2

我正在尝试使用 Tsung 创建一个分布式客户端网络。我有一个由 14 台不同机器组成的集群。我想使用 m01 作为服务器,使用机器 m02 和 m03 作为客户端(或模拟用户)。

这是我写的:

<!-- Client side setup -->
<clients>
    <client host="localhost" maxusers="400" cpu="1"><ip value="192.168.1.2"/></client>
    <client host="m03" maxusers="400" cpu="1"><ip value="192.168.1.3"/></client>
</clients>

我的目标服务器在这里定义:

<!-- Server side setup -->
<servers>
    <server host="192.168.1.1" port="5000" type="tcp"></server>
</servers>

每当我尝试运行它时,都会出现以下错误:

Host key verification failed.

出于注释目的,m02 是我正在运行 tsung 的本地主机。

我已经在所有机器上安装了 tsung 和 erlan 并进行了各种测试以确保我可以运行非分布式测试。

我不知道如何从这里搬走。

4

5 回答 5

3

Tsung 集群配置。

对于 Tsung 集群的配置,您需要有节点(具有相同操作系统和相同版本的 Tsung 的不同计算机)。

所有节点都应该有可能在不提示密码的情况下访问主节点。对于此操作,您必须在主节点中生成 ssl 证书,然后在所有从节点中添加公钥。请遵循以下命令:

在主节点生成证书:

ssh-keygen -t rsa 将文件复制到所有节点的主目录(在我们的示例中有 3 个节点):

scp ./id_rsa.pub USERNAME@NODE_1_IP_ADDRESS:~
scp ./id_rsa.pub USERNAME@NODE_2_IP_ADDRESS:~  
scp ./id_rsa.pub USERNAME@NODE_3_IP_ADDRESS:~

在所有节点中添加公钥:

cat id_rsa.pub >> .ssh/authorized_keys

在所有节点上成功生成和安装密钥生成器后,您应该通过 ssh 命令检查对所有节点的访问。首次通过 ssh 登录是必需的,否则主机密钥验证失败。 示例:请这样做:ssh [thesameusernamewhichisintsungtestplan]@yournodehostname

注意:您所有节点的 /etc/hosts 都应具有集群和测试服务器凭据。

于 2015-01-30T08:31:06.933 回答
3

Tsung 分布式负载测试基于 SSH shell 分发。确保你设置了你的 SSH 系统,这样你就可以在没有密码提示(带密钥)的情况下从主节点到所有从节点。

来自Tsung 文档

对于分布式测试,您需要无需密码即可通过 ssh 访问远程计算机(使用没有密码短语或 ssh-agent 的 RSA/DSA 密钥)(也支持 rsh)

于 2012-03-22T21:32:17.527 回答
2

您是否曾经从您所在的机器 ssh 到您尝试使用的机器?

ubuntu@ip-10-168-221-101:~/sessions$ tsung -f project.xml -l logs/tsung.log start
Starting Tsung
"Log directory is: /home/ubuntu/sessions/logs/20120830-1008"
Host key verification failed.
Host key verification failed.
Host key verification failed.
Host key verification failed.
^C
BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded
       (v)ersion (k)ill (D)b-tables (d)istribution
^Cubuntu@ip-10-168-221-101:~/sessions$ grep client project.xml 
  <clients>
    <client host="localhost"/>
    <client host="ip-10-161-74-53"/>
    <client host="ip-10-168-154-136"/>
    <client host="ip-10-168-15-66"/>
    <client host="ip-10-168-86-249"/>
  </clients>
  the mean inter-arrival time between new clients and the phase

ubuntu@ip-10-168-221-101:~/sessions$ ssh ip-10-161-74-53 erl
The authenticity of host 'ip-10-161-74-53 (10.161.74.53)' can't be established.
ECDSA key fingerprint is d0:92:3c:f1:56:99:c8:34:8b:0f:99:e8:10:7e:69:a6.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ip-10-161-74-53,10.161.74.53' (ECDSA) to the list of known hosts.
Eshell V5.8.5  (abort with ^G)
1> ^C

ubuntu@ip-10-168-221-101:~/sessions$ for d in $(grep client project.xml | grep ip | sed 's/<client host="\([^"]\+\)"\/>/\1/'); do ssh $d cat /etc/hosts; done
127.0.0.1 localhost

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
[...]

ubuntu@ip-10-168-221-101:~/sessions$ tsung -f project.xml -l logs/tsung.log start
Starting Tsung
"Log directory is: /home/ubuntu/sessions/logs/20120830-1013"

利润!”

于 2012-08-30T10:18:46.353 回答
1

1 在服务器(主服务器)上使用它来检查没有密码的 SSH 登录是否正常:

ssh client-002 erl 

2 如果不行,请这样做以保持您的公钥文件是最新的:

ssh-copy-id your-hostname

PS:如果你设置你的 SSH 登录没有密码 OK,那么不要使用 ssh-keygen 来生成新的公钥。

于 2012-03-28T03:47:17.840 回答
-1

步骤 1.重新启动虚拟机/机器并开始新会话

2.从每台机器中删除与机器m01、m02和m03相关的/home/user/.ssh/known_hosts行

3.修改所有的/etc/hosts文件以包含m01、m02和m03的ip地址和主机名/fqdn/shortname

4.将publickey的内容复制到/home/user/.ssh/authorized_keys文件,将私钥文件复制到/home/user/.ssh/文件夹。如果未生成,则使用 keygen 生成新的私钥和公钥。

5.(重要步骤)现在从 m01 和 m02 运行命令:“ssh m03”。重要的是在...(在您的 .xml 文件中)、/etc/hosts 文件中使用相同的名称(或主机名)和在做 ssh 的时候。(您用于 ssh 的主机名将添加到 known_hosts 文件中)。在其他两台机器上做同样的事情。

参考:http ://cryolite.iteye.com/blog/378758 (请翻译)

“主机密钥验证失败。” 错误将永远不会再出现:)

于 2018-02-26T10:00:31.907 回答