最近公司要在前端调度器上运行一些python脚本,里面涉及到了无密码登录后端多台web后拿取数据在这里记录一下具体操作过程,同时也给那些不知道的小白一些思路!!


一、环境配置

1、系统:CentOS release 5.6  IP:192.168.4.200  主机名:JW01

2、系统:CentOS release 5.9  IP:192.168.4.244  主机名:JW02

3、系统:CentOS release 5.3  IP:192.168.4.232  主机名:KT01

4、系统:Red Hat  release 4  IP:192.168.4.201  主机名:KT02

二、服务器配置

1、在每台服务器上都执行ssh-keygen -t rsa 生成密钥

[root@jw01 .ssh]# ssh-keygen -t rsa
 [root@jw02 .ssh]# ssh-keygen -t rsa
 [root@kt01  .ssh]# ssh-keygen -t rsa
 [root@kt02  .ssh]# ssh-keygen -t rsa

Generating public/private rsa key pair.
 Enter file in which to save the key (/root/.ssh/id_rsa): #回车代表无需密码登陆
Enter passphrase (empty for no passphrase): #回车
Enter same passphrase again: #回车
Your identification has been saved in /root/.ssh/id_rsa. #代表私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. #代表公钥
The key fingerprint is:
 04:45:0b:47:10:92:0c:b2:b9:d7:11:5b:49:05:e4:d9 root@jw01

2、在每台服务器上将公钥复制到无需登录的服务器上,如192.168.4.200 /244/232/2014台做相互无需密码登录,在每台服务器生成密钥后,在每一台服务器上执行ssh-copy-id的命令;以192.168.4.200为例;其他三台服务器也是同样的操作;

例:192.168.4.200
 [root@jw01 ~]# cd ~/.ssh
 [root@jw01 .ssh]# ssh-copy-id -i  id_rsa.pub "-p 22 root@192.168.4.244"
 [root@jw01 .ssh]# ssh-copy-id -i  id_rsa.pub "-p 22 root@192.168.4.232"
 [root@jw01 .ssh]# ssh-copy-id -i  id_rsa.pub "-p 22 root@192.168.4.201"

root@192.168.4.244's password:              #输入密码
Now try logging into the machine, with "ssh '-p 22 root@192.168.4.244'", and check in:
 .ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
以上信息出现就代表复制成功!

以上,可以自动将公钥添加到authorized_keys的文件中,在每台服务器都执行完以上的步骤就可以实现多台服务器无需密码相互访问了。

Logo

更多推荐