千家信息网

shell脚本实现ssh-copy-id批量自动发送公钥到远程主机

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,需求批量实现自动发送公钥到远程主机环境firewalld:关闭selinux:关闭实现方式sshpass命令shell调用expect命令sshpass命令#!/bin/bash##*********
千家信息网最后更新 2025年02月04日shell脚本实现ssh-copy-id批量自动发送公钥到远程主机

需求

批量实现自动发送公钥到远程主机

环境

firewalld:关闭
selinux:关闭

实现方式

  • sshpass命令
  • shell调用expect命令
sshpass命令
#!/bin/bash##********************************************************************#Author:            hechunping#QQ:                ×××#Date:              2019-11-07#FileName:          ssh-sshpass.sh#URL:               hexiaoshuai.blog.51cto.com#Description:       The test script#Copyright (C):     2019 All rights reserved#********************************************************************NET=172.20.200USER=(root hechunping)PASSWORD=123456ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa &> /dev/nullsed -i '/StrictHostKeyChecking/c StrictHostKeyChecking no' /etc/ssh/ssh_configrpm -q sshpass &> /dev/null || yum -y install sshpass &> /dev/nullfor i in {1..254} ; do{    sshpass -p $PASSWORD ssh-copy-id -i  ${USER[0]}@${NET}.${i} &> /dev/null}&donewait
shell调用expect命令
#!/bin/bash##********************************************************************#Author:            hechunping#QQ:                ×××#Date:              2019-11-07#FileName:          ssh-expect.sh#URL:               hexiaoshuai.blog.51cto.com#Description:       The test script#Copyright (C):     2019 All rights reserved#********************************************************************NET=172.20.200USER=(root hechunping)PASSWORD=123456ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa &> /dev/nullfor i in {1..254} ; do{expect <
0