#! /bin/sh #远程主机1(源主机) src_host=$1 src_user=$2 src_passwd=$3 #远程主机2(目标主机) dst_host=$4 dst_user=$5 dst_passwd=$6 src_pub=/root/.ssh/id_rsa.pub #在远程主机1上生成公钥 Keygen() { expect << EOF spawn ssh $src_user@$src_host "test -f /root/.ssh/id_rsa.pub || echo CheckFalse " expect { "password:" { send "$src_passwd\n" } eof { exit } } expect CheckFalse { exit 11 } EOF if [ $? -ne 11 ];then echo -n "公钥已经存在,将直接拷贝……" else echo -n "公钥不存在,开始创建……" expect << EOF spawn ssh $src_user@$src_host "ssh-keygen -t rsa " while {1} { expect { "password:" { send "$src_passwd\n" } "yes/no*" { send "yes\n" } "Enter file in which to save the key*" { send "\n" } "Enter passphrase*" { send "\n" } "Enter same passphrase again:" { send "\n" } "Overwrite (y/n)" { send "n\n" } eof { exit } } } EOF fi } #从远程主机1上拷贝公钥到远程主机2上 Get_pub () { expect << EOF spawn scp $src_user@$src_host:$src_pub $dst_user@$dst_host:/root/.ssh/$src_host expect { "password:" { send "$src_passwd\n";exp_continue } "password:" { send "$dst_passwd\n";exp_continue } "yes/no*" { send "yes\n";exp_continue } eof { exit } } EOF } #在远程主机2上将内容追加到authorized_keys Put_pub() { expect << EOF spawn ssh $dst_user@$dst_host "mkdir -p /root/.ssh;chmod 700 /root/.ssh;cat /root/.ssh/$src_host >> /root/.ssh/authorized_keys;chmod 600 /root/.ssh/authorized_keys" expect { "password:" { send "$dst_passwd\n";exp_continue } "yes/no*" { send "yes\n";exp_continue } eof{ exit } } EOF } Keygen Get_pub Put_pub
使用格式:
任县网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。成都创新互联于2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联。./ssh-turst.sh 192.168.1.1 root 123456 192.168.1.2 root 123456
当然也可以把这些主机IP,用户名,密码写入到一个config.ini文件里
192.168.1.1 root 123456 192.168.1.2 root 123456
192.168.1.1 root 123456 192.168.1.3 root 123456
然后使用xargs命令
xargs -n6 ./ssh-trush.ssh < config.file
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。