码迷,mamicode.com
首页 > 其他好文 > 详细

sshpass或expect实现ssh自动登录

时间:2015-05-18 21:01:18      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:ssh expect 自动登录

第一种方法(expect):
cat expect.sh
#!/usr/bin/expect
#使用第一个参数 
set local_ip [lindex $argv 0]
#后面的也可以用参数[lindex $argv n]
#set password [lindex $argv 1 ]  
#set password2 [lindex $argv 2]
#set command  [lindex $argv 3]
set local_port 22
set local_user jackchem
set local_11psss 11111111
set local_22psss 22222222
set timeout 30

spawn ssh -q $local_user@192.168.$local_ip
expect {
"192.168.20.* password"
{
       send "$local_11psss\n";
}
"192.168.21.* password"
{
       send "$local_22psss\n";
}
"yes/no"
{
       send "yes\n";
       exp_continue;
}
}
interact
先chmod +x expect.sh
比如登录到192.168.20.99的话./auto.sh 20.99
比如登录到192.168.21.88的话./auto.sh 21.88

第二种方法(sshpass):
cat sshpass.sh
#!/bin/bash
#--------------------------------------------------  
#Created:2015-05-18
#Author:jimmygong
#Mail:jimmygong@taomee.com
#Function:
#Version:1.0
#--------------------------------------------------
case $1 in
192.168.22[0-9].*)
sshpass -f /root/.11pass ssh -q -p22 -l tomhong $1;;
192.168.23[0-9].*)
sshpass -f /root/.22pass ssh -q -p22 -l tomhong $1;;
10.*.*.*)
sshpass -f /root/.33pass ssh -q -p22 -l tomhong $1;;
esac
先chmod +x sshpass.sh
比如登录到192.168.230.199的话./sshpass.sh 192.168.230.199
比如登录到10.1.1.55的话./sshpass.sh 10.1.1.55

本文出自 “7928217” 博客,请务必保留此出处http://7938217.blog.51cto.com/7928217/1652452

sshpass或expect实现ssh自动登录

标签:ssh expect 自动登录

原文地址:http://7938217.blog.51cto.com/7928217/1652452

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!