日期:2014-05-16  浏览次数:20552 次

ssh到远程机器执行命令的问题
有3台linux机器A B C,

B、C机器都有存放日志的目录/log/。已做配置,使B机器以root用户ssh到C机器无需密码。

现在B机器上有如下脚本 /usr/load.sh,内容如下:
C/C++ code

data_line_count_B=(`cat /log/* | wc -l`)
data_line_count_C=(`ssh -l root C cat /log/* | wc -l`) #从B机器ssh到C机器无需密码
echo $data_line_count_B
echo $data_line_count_C



在B机器上执行脚本 bash /usr/load.sh 可以正常输出数据 
12000
11000

可是在A机器上执行脚本 ssh -l root B bash /usr/load.sh 输出的数据是
12000
0 //未取到C机器上的数据

请问这是什么情况,需做什么修改才能在A机器上取到正确的结果呢?

------解决方案--------------------
A机器上的~/.ssh/know_hosts和B机器上的不同。

C机器对A机器过滤了。使A机器这个ip地址无法ssh到C机器。