ssh連線遠端伺服器自動輸入密碼

2021-09-24 11:07:11 字數 1024 閱讀 4115

一、先安裝expect,expect是一套完成自動互動任務的軟體,主要命令有四個:

1.spawn:命令用來啟動新的程序,spawn後的sendexpect命令都是和使用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...