原理
使用ssh-keygen 在主机A上生成公钥和密钥,将生成的公钥拷贝到远程机器主机B上后,就可以使用ssh命令无需密码登录到另外一台机器主机B上。即可完成批量执行命令或者批量执行启动脚本等操作
步骤
1、生成公钥和私钥文件id_rsa和id_rsa.pub (敲3下回车即可)
ssh-keygen -t rsa
2、ssh-cop-id命令会将指定的公钥文件复制到远程计算机
#1、默认22端口的使用方式
ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.58.21.2
#2、非默认22端口的使用方式
ssh-copy-id -i ~/.ssh/id_rsa.pub '-p 2222 root@10.58.21.2'
3、然后ssh登陆主机B验证是否需要密码
ssh root@10.58.21.2
实例-远程连接服务器截取nmon文件
#!/bin/bash
#远程到其它主机执行命令达到批量截取nmon文件。
command=$1
echo "Scene Name : $command"
for host_ip in 10.58.21.{1..10}
do
ssh root@${host_ip} /home/nmon/nmon_x86_64_rhel5 -ft -s 6 -c 100 -F /home/nmon/$command"_"${host_ip}.nmon
echo "$host_ip 截取开始时间:[`date +'%Y-%m-%d %H:%M:%S'`]"
done
#截取数据库
ssh root@10.58.20.120 /home/nmon/nmon_x86_64_rhel5 -ft -s 6 -c 100 -F /home/nmon/$command"_"10.58.20.120.nmon
echo "10.58.20.120 截取开始时间:[`date +'%Y-%m-%d %H:%M:%S'`]"
验证
服务器上截取到的nmon文件