expect实现ssh自动登录

  1. #!/usr/local/bin/expect
  2. set PASSWD [lindex $argv 1]
  3. set IP [lindex $argv 0]
  4. set CMD [lindex $argv 2]
  5. spawn ssh $IP $CMD
  6. expect "(yes/no)?" {
  7. send "yes\r"
  8. expect "password:"
  9. send "$PASSWD\r"
  10. } "password:" {send "$PASSWD\r"} "*host " {exit 1}
  11. expect eof
时间: 2024-10-20 23:28:38

expect实现ssh自动登录的相关文章

用了一天的时间,linux下expect实现ssh自动登录服务器记,鄙视下网上各种抄来抄去残段子

因为要对客户方的快30个项目进行特别有顺序的重启,所以不得不想办法写个脚本,网上看了不少段子.真是残缺的可以.没有一段是可以正常运行的.我来按顺序记录一下 脚本的本身 使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄.收藏.可是为什么要这么写却不知其然.本文用一个最短的例子说明脚本的原理. 脚本代码如下: ############################################## #!/usr/bin/expect set timeo

sshpass或expect实现ssh自动登录

第一种方法(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 jackch

linux expect详解(ssh自动登录)

shell脚本实现ssh自动登录远程服务器示例: #!/usr/bin/expect spawn ssh [email protected] expect "*password:" send "123\r" expect "*#" interact 原文链接:http://www.xuanhao360.com/linux-expects/ Expect是一个用来处理交互的命令.借助Expect,我们可以将交互过程写在一个脚本上,使之自动化完成.形

[转]expect实现ssh自动交互

shell脚本实现ssh自动登录远程服务器示例: #!/usr/bin/expect spawn ssh [email protected] expect "*password:" send "123\r" expect "*#" interact 原文链接:http://www.xuanhao360.com/linux-expects/ Expect是一个用来处理交互的命令.借助Expect,我们可以将交互过程写在一个脚本上,使之自动化完成.形

shell脚本实现ssh自动登录远程服务器示例

本文转载自 懒惰的肥兔 :http://www.xuanhao360.com/linux-expects/ shell脚本实现ssh自动登录远程服务器示例: #!/usr/bin/expect spawn ssh [email protected] expect "*password:" send "123\r" expect "*#" interact Expect是一个用来处理交互的命令.借助Expect,我们可以将交互过程写在一个脚本上,使

最新SSH自动登录方案(RSA)

一. 前言 直接使用ssh连接到服务器时,需要手动输入密码.如果能够不用手动输入密码,且自动登录到SSH服务器的话,那就爽了. 经过一晚上的研究,终于搞定了.(原因在于旧的配置方式已不能正确使用了) 在进行配置前,先假定ssh客户端为ssh-client,ssh服务器为ssh-server(运行ssh服务的一边). 二. 配置方法 1. 在ssh-client一边使用ssh-keygen生成一对rsa key $ssh-keygen -t rsa Generating public/privat

使用public/private key让putty(ssh)自动登录

方法一:使用puttygen.exe 第一步:生成密匙 运行puttygen.exe,选择需要的密匙类型和长度,使用默认的SSH2(RSA),长度设置为1024就可以了. passphrase可以为空,免得登录时还是要输入一次密码. 点击Save private key 按钮保存公匙和私匙,例如key.ppk,public key不用保存,以后使用Puttygen.exe Load功能就可以显示public key. 第二步:上传密匙 用自己的帐号登录linux主机,然后执行下面的命令: $ c

[转] windows 上用程序putty使用 ssh自动登录Linux(Ubuntu)

需求: 在Win7电脑上使用putty(一种ssh客户端)连接Ubuntu 工具: puttygen.exe 和 putty.exe 第一步:生成密匙 运行puttygen.exe,选择需要的密匙类型和长度,使用默认的SSH2(RSA),长度设置为1024就可以了. passphrase可以为空,免得登录时还是要输入一次密码. 点击Save private key 按钮保存私匙,例如key.ppk: 复制puttygen public Key 文本框内的内容到剪贴板中. 第二步:上传密匙 用Pu

expect ssh 自动登录 example

#!/usr/bin/expect -f set ip 192.168.20.200 set password admin set timeout 10 spawn ssh [email protected]$ip -p 2169 expect { ##"*yes/no" { send "yes\r"; exp_continue} "*password:" { send "$password\r" } } interact