Linux SSH非交互式登录执行命令
方式一:通过sshpass
#需要事先安装sshpass
yum install -y sshpass
sshpass -p xxx ssh root@192.168.11.11 "df -h"
方式二:通过expect
#需要事先安装expect
yum install -y expect
#!/bin/bash expect << EOF set timeout 10 spawn ssh root@192.168.36.152 ##开启一个会话 ##期望 expect { "yes/no" { send "yes\r"; exp_continue } ##出现yes/no,\r表示换行,没出现yes/no,也可以exp_continue继续 "password:" { send "123\r" }; ##出现password怎么做 } expect "root@*" {send "df -h\r"} expect "root@*" {send "exit\r"} expect eof EOF