1、首先登入一台linux服务器,此台做为母机(即登入其他linux系统用这台做为入口);执行一行命令生成key文件:ssh-keygen -t rsa
2、在母机上,进入/root/.ssh目录,找到id_rsa.pub该文件,这个文件就是刚才执行ssh-keygen所生成的公钥key文件。
3、用scp命令,将母机产生的key拷一份到远程的linux服务器上,并命名成authorized_keys;scp ~/.ssh/id_rsa.pub root@192.168.1.113:/root/.ssh/authorized_keys。这一步的操作需要手动输入密码。
192.168.1.113为母机想要远程访问的主机ip;注意authorized_keys这个命名不要去修改;
4、现在为止,你已完成了所有的操作;可在母机通过ssh root@192.168.1.113 你会发现不在用输放密码了。相同的scp命令也是一样的情况,无需手动输入密码。
这么做了之后就方便我们写shell脚本在不同的主机上执行命令进行管理了:
1 #!/bin/bash 2 3 case $1 in 4 "start"){ 5 for i in 8.129.222.20 42.192.19.88 106.13.16.97 6 do 7 echo "********$i********" 8 ssh $i "/opt/huawei/kafka/bin/kafka-server-start.sh -daemon /opt/huawei/kafka/config/server.properties" 9 done 10 11 };; 12 13 "stop"){ 14 for i in 8.129.222.20 42.192.19.88 106.13.16.97 15 do 16 echo "********$i********" 17 ssh $i "/opt/huawei/kafka/bin/kafka-server-stop.sh" 18 done 19 20 };; 21 22 esac
1 #!/bin/bash 2 3 case $1 in 4 "start"){ 5 for i in 8.129.222.20 42.192.19.88 106.13.16.97 6 do 7 echo "********$i********" 8 ssh $i "/opt/huawei/zookeeper/bin/zkServer.sh start" 9 done 10 11 };; 12 13 "stop"){ 14 for i in 8.129.222.20 42.192.19.88 106.13.16.97 15 do 16 echo "********$i********" 17 ssh $i "/opt/huawei/zookeeper/bin/zkServer.sh stop" 18 done 19 20 };; 21 22 esac