首页 > 系统服务 > 详细

linux命令expect实现ssh登陆

时间:2015-10-26 20:52:49      阅读:277      评论:0      收藏:0      [点我收藏+]

1 expect可用于自动化脚本的书写

yum -y install expect即可下载

2 脚本ssh.exp

#此行用于解释器,这样意味着你可以./ssh.exp了,或者不写这行直接/usr/bin/expect ssh.exp也行

#!/usr/bin/expect -f


#设置参数的方法是使用set,如果想获取命令行参数,则使用[ index $argv 0 ]表示获取第一个参数

set ip "localhost"

set passwd "liuliancao"

set timeout 10


#生成一个进程

spawn ssh liuliancao@$ip

expect "(yes/no)?" {send "yes\r";exp_continue}  #如果遇到了(yes/no)?这样的字符串就输入yes和换行符号,继续后面的expect,注意{前面有个空格,expect后面有个空格

expect "password:" {send "$passwd\r";interact} #如果遇到了password:这样的字符串就输入用户秘密,并保持交互

3 脚本ssh_without_passwd.exp

#!/usr/bin/expect -f


set ip [ lindex $argv 0 ]

set passwd [ lindex $argv 1 ]



spawn ssh-copy-id -i /root/.ssh/id_rsa  root@$ip

expect "yes/no" {send "yes\r";exp_continue}

expect "password:" {send "$passwd\r"}


interact


本文出自 “启学的学习之路” 博客,请务必保留此出处http://qixue.blog.51cto.com/7213178/1706496

linux命令expect实现ssh登陆

原文:http://qixue.blog.51cto.com/7213178/1706496

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!