自動的に情報カードを収集するためのSSHログインスクリプト

#!/ binに/バッシュ
#20190605

[ id -u-ne 0] &&エコー終了1 && "$ 0を実行するためにrootユーザーを使用してください"
[-f /root/auto.sh] && RM -f /root/auto.sh
猫>> auto.sh << - EOF
エコー------------------------> /root/ifconfig.log
ifconfigコマンド>> /root/ifconfig.log
エコー--------- --------------- >> /ルート/ ifconfig.logの
EOFの
シェル= /ルート/ auto.sh
ipfile = /ルート/ list.txtに
[-f $ ipfile] || エコー"いいえ、ファイル$ ipfileが見つかりませんでした"
[-f /root/ssh.exp] && RM -f /root/ssh.exp || "ssh.exp作成"エコー
EOF -猫>> ssh.exp <<
#を!





"はい/いいえ" {送る"はい\ R"; exp_continue}
"パスワード:" {} "\ $のpasswd \ rの"送信
}
のスポーンsshのルート@ \ $のホスト
{期待する
"はい/いいえ" {送る"はい\ R"; exp_continue}
"パスワード:" {} "\ $のpasswd \ rは"送信
}

"]期待"
送信"SH $シェル&&日付>> $ shell.log \ rを"
期待"]
"
送信"] $シェル-f [&&のrm -f $シェル\ rを"
期待"] *"は
「終了を送信\ R」
のspawn SCPルートの@の\ $ホスト:/root/ifconfig.log /root/\$host-ifconfig.logは
{期待
"はい/いいえはい" {送る"\ rを"; exp_continue}
"パスワード:" {} "\ $のpasswd \ rは"送信は
}
EOF期待
EOF

読み込んだ行は、一方で
行う
IP = echo $line|awk '{print $1}'
PW = echo $line|awk '{print $2}'
であれば[-f $シェル]。その後、
"コピー$ IPに1.sh" >> /ルート/ copy.logエコー

エコー"が見つかりません1.shファイル"
の出口
Fi回線
のping -c 1 $ IP>を/ dev / null 2>&1
[$を?-eq 0] &&エコーのping $ IP seccus || 1番出口
は/ usr / binに/ /root/ssh.exp期待$ PW $腹腔$シェル
は/ usr / binに/期待$ /root/ssh2.exp PW $ IP
行わ<$ ipfile
[-f /root/ssh.exp] && RM -f /root/ssh.exp
[-f /root/ssh2.exp] && RM -f /root/ssh2.exp
[-f /root/auto.sh] && RM -f /root/auto.sh
エコー$ 0終了&&日付+ "%Y /%mは/%dの%のH:%M.%S" >> $ 0.log
のls * .logに

おすすめ

転載: blog.51cto.com/junhai/2405573