linux shell 批量 免密码登陆 发表于 2016-11-03 | in linux . shell | | 访客 ip.txt文件存储的是所有主机的IP,每行一个 1234567891011121314151617#!/bin/bash ps='GMLWHwfO9vfahqbJic' key='ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdSnEVHBG1tOP9XwsZqRddym/5B0Jx5dOPewKmPePlEPWLHuaIeWICoe52X5BmfFh67pYrO4QTLwg3chdkrOZc3RJzqKQdwuVT+yBQGmfm/X4I3pXNs5a1AHItwu0XhzplqbKSOd0ChIQ3UEdsPU2MaxqXFt0TlM4wyMoMXiQC4BTQAnFwk//BURyCroqjHT285mY60LGXj46RcMlXryTTDXlvnZebvWIGjtPVzKPzxMfwfPRuCssU1gPMqWpb0dAMudmmJIt/5uoUDPs0V4WNuDLbugWh1sRlYOx0ncu4NOlRMSAobyQ2qbQiQMS1v2eYYrrBd8DcTRKfRwDUUFHb openstack' for ip in `cat /root/ip.txt`; do echo 'begin $ip'; set timeout 5 expect -c " spawn ssh root@$ip expect \"(yes/no)?\" {send \"yes\n\";exp_continue} expect \"password:\" {send \"$ps\n\"} expect \"]#\" {send \"echo $key >> /root/.ssh/authorized_keys\n\"} expect \"]#\" {send \"exit\n\"} expect eof " echo 'finish $ip'; done