expect使用ssh登入指令碼

2021-08-27 07:04:15 字數 789 閱讀 3872

基礎篇:

#!u/s+ ssh

spawn ssh -l root 10.10.10.24

# 等待響應,第一次登入往往會提示是否永久儲存 rsa 到本機的 know hosts 列表中;等到回答後,在提示輸出密碼;之後就直接提示輸入密碼

expect "(yes/no)?" "password:" "*host "

interact

# 這裡使用了 interact 命令,使執行完程式後,使用者可以在 $host 終端進行互動操作。

多使用者登入,使用shell進行呼叫

#!/usr/bin/expect -f

set ipaddress [lindex $argv 0]

set passwd [lindex $argv 1]

set timeout 30

spawn ssh root@$ipaddress

expect

"password:"

}expect "*from*"

interact

~ shell呼叫指令碼

#!/bin/bash

if [ $1 == 24 ];then

i='10.10.10.24'

j='123456'

fiif [ $1 == 17 ];then

i='10.10.10.17'

j='1qaz2wsx'

fiecho $i

echo $j

expect /home/shell/benchmark/login.exp $i $j

ssh登入指令碼 expect語言中使用awk

五一勞動節被叫過去加班,要公升級程式,有100多台的伺服器。需要先登入伺服器,再將伺服器上的程式停掉,伺服器上的程式程序是用screen建立的,ps ef 他的程序pid 然後kill掉 usr bin expect set ipaddr lindex argv 0 spawn ssh ict ip...

expect實現自動登入指令碼

寫在前面 目前在公司是一人一台虛擬機器,大多數工作都要在虛擬機器上完成,為此每天要執行很多次 ssh 指令登入虛擬機器 有很多方式解決這個問題,如使用xshell securecrt等工具記錄常用的連線,我就寫了乙個簡單的指令碼實現一鍵登入 login.sh指令碼內容如下 usr bin expec...

使用expect實現自動互動,自動登入指令碼

使用expect實現自動互動,自動登入指令碼 指令碼 如下 usr bin expect set timeout 30 spawn ssh l username 192.168.1.1 expect password send ispass r interact 1.usr bin expect 這...