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

  

  

  
posted @ 2022-05-20 16:19  RFAA  阅读(744)  评论(0编辑  收藏  举报