ssh key


我们为zhangjie这个用户为例来介绍ssh key 免密码认证

1、我们准备三台机器
A-Server  中心分发服务器
B-Client   接收客户服务器
C-Client   接收客户服务器
140441397.png
spacer.gif

2、添加系统帐号 我们在这三台机器上分别建立一个名为zhangjie的用户,并且设置密码为123456
useradd zhangjie
echo "123456" |passwd --stdin zhangjie

3、开始部署
因为A服务器为中心分发服务器,所以我们选择在A服务器建立 Public Key(锁) Private Key(钥匙) 

4、在A-Server 上建立密钥对
如同上超市买锁。。。。。。
在A机器上建立dsa key, 生成Public Key(锁) 与 Private Key(钥匙),执行步骤如下:

(1)创建dsa认证密钥对 ssh-keygen -t dsa
执行完如上命令后就会在/home/zhangjie这个目录下建立了一个隐藏目录 .ssh 然后在这个目录下面生成两个文件
id_dsa(私钥)  id_dsa.pub(公钥)

注:这里生成的.ssh目录的权限是700
id_dsa(私钥)这个文件的权限是600   id_dsa.pub(公钥) 这个文件的权限是644
(2)推送公钥 ssh-copy-id -i id_dsa.pub 10.0.0.162 如果有特殊端口可以使用ssh-copy-id -i id_dsa.pub "-p 888 10.0.0.162"
注:实际上使用ssh-copy-id命令就干了一件事,就是在接收客户服务器的家目录下创建一个隐藏目录叫.ssh然后将id_dsa.pub改名为
authorized_keys 
为什么改名为authorized_keys呢,是因为在ssh 的主配置文件中指定了这个文件目录及文件名
[root@A-Server ~]# grep authorized_keys /etc/ssh/sshd_config  
#AuthorizedKeysFile     .ssh/authorized_keys
(3)登录ssh zhangjie@10.0.0.162
######################################################################

5、使用scp命令分发内容
ssh服务使用scp命令批量分发脚本fenfa.sh
#!/bin/sh

for ip in `cat ip_list`

 do
 echo "$ip==========================="
 scp -r -p $1 $ip:$2
 done
#####################################################################
使用ssh服务,批量查看设备信息  可以写个简单的脚本manage.sh内容如下 
#!/bin/sh
for ip in `cat ip_list`
 do 
 ssh $ip $1
 done