expect ssh自動登入指令碼和kibitz

2021-05-04 15:49:30 字數 1006 閱讀 5452

kibitz:這是乙個非常有用的工具。通過它兩個或更多的使用者可以連線到同乙個shell程序。可以用於技術支援或者培訓(參見下圖)。

同樣可以用於其他一些要求同步的協同任務。例如我希望和另外乙個同事一起編輯一封信件,這樣通過kibitz我們可以共享同乙個執行編輯器的指令碼,同時進行編輯和檢視信件內容。

自己需要修改kibitz指令碼,因為它裡面用的是rlogin登入的,而一般都開放了ssh,因此要把

spawn rlogin $host -l $proxy -8這句改為

spawn ssh $host -l $proxy

而且在下面的expect句中,它沒有判斷是否是第一次,第一次時,會詢問yes/no,

所以,在expect句裡的最前面,加上

"*yes*no)*"

下面是自己編寫的用於自動登入的指令碼。

#!/bin/bash

if [ $# != 4 ] ; then

echo usage: auth username address port passward

exit

fi#[lrange list begin last]

cat >logon.sh <#!/usr/bin/expect -f

set timeout 5

set username [lindex /$argv 0]

set address [lindex /$argv 1]

set port [lindex /$argv 2]

set passwd [lindex /$argv 3]

spawn ssh /$username@/$address -p /$port

expect  "*assward:"

send "/$passwd/r"

expect "]*"

send "df -h/r"

interact

eofchmod 700 logon.sh

./logon.sh $

rm -f logon.sh

自動登入指令碼

為了解決不同網路空間的問題,本來是想通過改變環境變數的方式,不過最終還是 選擇了在shell指令碼下,選擇了網路空間後執行指令碼。同時這個庫,還可以實現相應的檔案傳輸功能,這也是比較划算的乙個功能。usr bin python coding utf 8 auther vchao 16.12.16 i...

sqlplus dbtool自動登入指令碼

shell中呼叫sqlplus sqlplus s user pwd datebasespool b.txt select from a spool off exit eofcat b.txt tr d b.txt shell中呼叫dbtool dxyyt kefu dbtool cxtyd rw ...

ssh自動登入指令碼

使用vpn,每次都要在terminal上重複輸入命令 ssh d port user host 出來密碼提示符後,把複雜的密碼拷貝下來,然後貼上到terminal,敲回車.終於忍受不了這樣的重複了,於是用shell寫乙個可以自動登入的指令碼 usr bin expect f set port por...