一、先安裝expect,expect是一套完成自動互動任務的軟體,主要命令有四個:
1.spawn:命令用來啟動新的程序,spawn
後的send
和expect
命令都是和使用spawn
開啟的程序進行互動
2.expect:等待命令的反饋。
3.send:接收到反饋之後,執行的互動命令。
4.interact:留在遠端終端,並且退出自動化,進行人工互動,即可以手動寫入命令。
安裝expect的語句為:
yum -y install expect
二、shell**
#!/usr/bin/expect
set timeout 30
set host "寫入伺服器ip"
spawn ssh $host
expect "password:"
send "寫入密碼"
interact
逐句解釋:
1.#!/usr/bin/expect 設定這個指令碼的直譯器
2.set host "寫入伺服器ip" #設定host變數用於儲存伺服器ip
3.spawn ssh $host。#進入expect環境下才可以執行的內部命令spawn
4.expect "password:"#判斷上次輸出結果是否包含「」內的內容,如果包含則立即返回,否則等待30秒
#等待30s就是 set timeout 30
5.send "寫入密碼"#當匹配到輸出結果中包含「password」,就傳送密碼到開啟的ssh程序,執行互動
6.interact #登陸遠端伺服器之後,留在遠端終端,並且可以手動互動
SSH遠端連線伺服器
第一步 伺服器第一次開啟ssh服務,則會自動建立 etc ssh ssh host 公鑰檔案,以及私鑰檔案 第三步 伺服器將自己的公鑰檔案傳送給客戶端 明文 etc init.d ssh restart ssh f o p 帳號 ip 命令 引數 意義 f 不登入,直接在遠端伺服器執行 後面的命令 ...
ssh連線遠端伺服器
平常登陸遠端伺服器,每次都要輸入密碼,感覺挺麻煩的,下面提供一種相對便利的方式 windows 感覺xshell挺好的ubuntu sudo apt install expectmac brew install expect bin bash set timeout 30 spawn ssh l 使...
SSH連線遠端伺服器
ssh username ip p port提示輸入密碼後,即可登入 客戶端生成公鑰 私鑰 ssh keygen生成的公鑰 私鑰 存放在 ssh目錄下 將公鑰複製到伺服器上,追加到.ss 件夾下authorized keys檔案的末尾 scp p port ssh id rsa.pub userna...