ssh expect 非交互 密码 免登陆

因为要实现非交互ssh登录,每台机器都去做公钥显然太麻烦,所以想简单的把密码写在脚本中,直接登录执行命令。

sshpass本来是首选,但是部分机器需要安装C compiler, 这也不符合预期,所以决定采用expect

网上搜索了一下,基本上都是单独的expect脚本,很少有在shell中嵌套expect,这样的话需要两个脚本来执行。

现在写Shell中嵌套expect的用法,首先要确定/usr/bin/expect存在

 

#!/bin/bash

 
passwd="12345678"
 
expect <<!
   set time 5
   spawn ssh user@192.168.1.2
     expect {
       "*yes/no" { send "yes\r"; exp_continue }
       "*password:" { send "$passwd\r" }
     }
     expect "*#" { send "df\r" }
	 expect "*#" { send "exit\r" }
	 expect eof
!

转载于:https://my.oschina.net/u/2409113/blog/656614

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值