linux命令expect實(shí)現(xiàn)ssh登陸
SSH 是目前較可靠,專為遠(yuǎn)程登錄會(huì)話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議。利用 SSH 協(xié)議可以有效防止遠(yuǎn)程管理過(guò)程中的信息泄露問(wèn)題。那么你知道linux命令expect實(shí)現(xiàn)ssh登陸么?接下來(lái)是小編為大家收集的linux命令expect實(shí)現(xiàn)ssh登陸,歡迎大家閱讀:
linux命令expect實(shí)現(xiàn)ssh登陸
1 expect可用于自動(dòng)化腳本的書(shū)寫
yum -y install expect即可下載
2 腳本ssh.exp
#此行用于解釋器,這樣意味著你可以./ssh.exp了,或者不寫這行直接/usr/bin/expect ssh.exp也行
#!/usr/bin/expect -f
#設(shè)置參數(shù)的方法是使用set,如果想獲取命令行參數(shù),則使用[ index $argv 0 ]表示獲取第一個(gè)參數(shù)
set ip "localhost"
set passwd "liuliancao"
set timeout 10
#生成一個(gè)進(jìn)程
spawn ssh liuliancao@$ip
expect "(yes/no)?" {send "yes\r";exp_continue} #如果遇到了(yes/no)?這樣的字符串就輸入yes和換行符號(hào),繼續(xù)后面的expect,注意{前面有個(gè)空格,expect后面有個(gè)空格
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
看了“linux命令expect實(shí)現(xiàn)ssh登陸”還想看:
linux命令expect實(shí)現(xiàn)ssh登陸
下一篇:liunx ssh命令詳解