|
|
51CTO旗下网站
|
|
移动端

分享一个Linux批量管理脚本--批量建立服务器之间SSH免密

今天主要介绍一下linux如何批量建立SSH免密的过程,仅供参考。下面,我们一起来看。

作者:波波说运维来源:今日头条|2019-11-28 08:25

今天主要介绍一下linux如何批量建立SSH免密的过程,仅供参考。

SSH免密

一、批量建立ssh私钥认证

1. 编译安装expect

expect依赖于tcl,而linux系统里一般不自带安装tcl,所以需要手动安装。

(1) 安装tcl

  1. cd /opt/tcl8.4.11/unix 
  2. ./configure 
  3. make && make install 

(2) 安装expect

  1. cd expect-5.43.0 
  2. ./configure --with-tclinclude=/opt/tcl8.4.11/generic --with-tclconfig=/usr/local/lib/ 
  3. make && make install 

分享一个linux批量管理脚本--批量建立服务器之间SSH免密

(3) 测试

分享一个linux批量管理脚本--批量建立服务器之间SSH免密

2. 主控端生成公钥

执行ssh-keygen,该命令会默认在~/.ssh/目录下创建id_rsa、id_rsa.pub两个文件,分别为公钥和私钥

  1. ssh-keygen 
  2. cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys 

分享一个linux批量管理脚本--批量建立服务器之间SSH免密

3. 相关脚本

以下均放在/root目录下

(1) ip.txt

注意前面是IP,后面是密码,用冒号:分割,如果密码有冒号的建议单独处理

  1. IP:密码 

(2) remote_operate.sh

  1. #!/bin/bash 
  2. #copyright by hwb  
  3.  
  4. if [ ! -d /root/.ssh ];then  
  5.  mkdir /root/.ssh 
  6. fi 
  7. cat /tmp/authorized_keys >> /root/.ssh/authorized_keys 

(3) batch_sshkey.sh

  1. #!/bin/bash 
  2. #copyright by hwb  
  3.  
  4. for i in `cat ip.txt` 
  5. do 
  6. ip=$(echo "$i"|cut -f1 -d":") 
  7. password=$(echo "$i"|cut -f2 -d":") 
  8.  
  9. expect -c " 
  10. spawn scp /root/.ssh/authorized_keys /root/remote_operate.sh root@$ip:/tmp/ 
  11.  expect { 
  12.  \"*yes/no*\" {send \"yes\r\"; exp_continue} 
  13.  \"*password*\" {send \"$password\r\"; exp_continue} 
  14.  \"*Password*\" {send \"$password\r\";} 
  15.  } 
  16.  
  17. expect -c " 
  18. spawn ssh root@$ip "/tmp/remote_operate.sh" 
  19.  expect { 
  20.  \"*yes/no*\" {send \"yes\r\"; exp_continue} 
  21.  \"*password*\" {send \"$password\r\"; exp_continue} 
  22.  \"*Password*\" {send \"$password\r\";} 
  23.  } 
  24. done 

4. 执行脚本并测试

运行batch_sshkey.sh脚本

分享一个linux批量管理脚本--批量建立服务器之间SSH免密

【编辑推荐】

  1. Linux如何限制指定账户不能SSH只能SFTP在指定目录
  2. 如何在Linux上安装Java?
  3. 如何查看Linux哪些用户拥有sudo权限
  4. Linux平台上的写作者必备工具
  5. 如何在Linux上使用pkgsrc
【责任编辑:赵宁宁 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

骨干网与数据中心建设案例

骨干网与数据中心建设案例

高级网工必会
共20章 | 捷哥CCIE

396人订阅学习

中间件安全防护攻略

中间件安全防护攻略

4类安全防护
共4章 | hack_man

144人订阅学习

CentOS 8 全新学习术

CentOS 8 全新学习术

CentOS 8 正式发布
共16章 | UbuntuServer

288人订阅学习

读 书 +更多

网管员必读-网络管理(第2版)

本书是对《网管员必读—网络管理》第1版的全面重写,因为书中所涉及的两个主要网络操作系统都已升级。本书介绍的是Windows Server 2003 R2...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微