正文
[root@centos7 ~]#ssh-keygen -t rsa -f .ssh/id_rsa
#
生成秘钥对
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
#
如若选择给私钥加口令,则在每次使用时,提供口令
Enter same passphrase again:
时,在使用时需输入口令,如不输入口令时,需保护好
Your identification has been saved in .ssh/id_rsa.
口令,一旦丢失相当于万能钥匙。
Your public key has been saved in .ssh/id_rsa.pub.
The key fingerprint is:
37:18:3a:18:f7:43:f1:b0:59:5a:75:88:29:bf:ac:5d [email protected]
[root@centos7 ~]#ls .ssh/
#
验证生成的密钥对
id_rsa
id_rsa.pub
kn
own_hosts
[root@centos7 ~]#ssh-copy-id -i .ssh/id_rsa.pub [email protected]
#
将密钥上传到免登陆服务器
,
自动加载到/root/.ssh目录
####################################################################################################
[root@centos6 ~]# ifconfig eth0
eth0
Link encap:Ethernet
HWaddr 00:0C:29:AD:7B:C1
inet addr:192.168.100.128
Bcast:192.168.100.255
Mask:255.255.255.0
[root@centos6 ~]# ls .ssh/
#
验证发现通过ssh-copy-id上传,自动将key定义为authorized.keys
authorized_keys
known_hosts
#
上传到服务器的公钥自动更名的依据可查看/etc/ssh/ssh_config
################################
此时完成免密码登录认证##############################################
2.2 Expect实现key分发
在上百台服务器中,对公钥分发不可能经过上百次的手工输入key,像前文所述在在自动化运维时代里超过3次的动作必须用自动化思想实现自动化运维。
Expect是交互式语言,具体学习可参考http://www.tcl.tk
2.3 pssh家族命令详解
pssh提供了子工具,可以实现多台服务器的批量管理,如同时在多台主机上批量执行某命令,管理同步进程,高效的复制文件,
需要注意的是
:使用pssh命令时,命令参数中不支持变量(如$HOSTNAME)和通配符(如*)等,
如果命令参数中有变量和通配符时,pssh会人为是执行本地的命令,而非远程主机的命令。
下面将常用命令及选项逐一介绍
pssh命令详解:
命令
|
选项
|
含义
|
Pssh
|
-h
|
指定文件中用户主机列表
|
-H
|
指定主机,-H “root@host1 root@host2 ”
|
-i
|
将每个主机标准输出输送到当前终端
|
-o
|