ssh自動化腳本
⑴ linux。。shell 腳本中經常要用到ssh。可是ssh又要互動式輸密碼。怎麼能不交互的輸密碼呢
1、登錄A機器
2、ssh-keygen -t [rsa|dsa],將會在~/.ssh下生成密鑰文件和私鑰文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub
3、將 .pub 文件復制到B機器的 .ssh 目錄, 並 cat id_dsa.pub >> ~/.ssh/authorized_keys
4、大功告成,從A機器登錄B機器的目標賬戶,不再需要密碼了(直接運行 #ssh 192.168.1.100 )
面交互輸入,就得使用expect腳本,例:
#!/bin/bash
passwd='123456'
/usr/bin/expect <<-EOF
set time 30
spawn ssh [email protected]
expect {
"*yes/no" { send "yes\r"; exp_continue }
"*password:" { send "$passwd\r" }
}
expect "*#"
send "cd /home/trunk\r"
expect "*#"
send "ls\r"
expect "*#"
send "exit\r"
interact
expect eof
EOF
⑵ linux怎麼寫腳本讓自動登錄SSH或者telnet
使用expecte腳本可以實現此命令;網路以下expecte的寫法;
⑶ linux 如何自動遠程執行腳本
1、安裝sshpass
2、sshpass -p 「passwd」 ssh -p22 root@$dst_ip 「a.sh」
注意a.sh是目標主機里的腳本。
⑷ 如何用shell腳本實現SSH的遠程登錄
要帶跳過輸入密碼的環節么?
如果你想每次鏈接的時候自己手動輸入密碼,那就參考這樣寫
#!/bin/bash
ip=$1
ssh 用戶名@ip地址 -p埠號
保存後給執行許可權,運行時在腳本後面直接跟一個IP地址
如果你想每次鏈接的時候自動跳過輸入密碼的環境,那就再網路下「ssh建立信任關系」,腳本依然還是這個腳本,只是登陸的時候做了互相信任的話,就不需要密碼了
⑸ linux shell 遠程連接腳本怎麼寫 Linux
樓上亂講,你在腳本里 ssh username@遠程主機ip 這樣寫的話會提示你輸入密碼,腳本不能實現自動化還有什麼意義。
直接在shell腳本里是實現不了自動登錄的,你需要藉助expect腳本。
redhat下默認是沒有安裝expect,你可以用yum install expect來安裝。
安裝完成後編寫腳本如下
#!/usr/bin/expect -f
set timeout 30
spawn ssh username@host
expect "*assword:*"
send "password\r"
expect eof
保存後給它加上可執行許可權,就可以用這個腳本登錄了。
解釋一下
set timeout 30 設置超時時間
spawn spawn用來啟動一個新的進程
expect 用來等待你所期望的系統返回的字元串
send 用來向系統發送一個字元串,即你的密碼
expect eof 等待接受文件結束符。
夠詳細了吧。累死我了。
⑹ 寫一個SSH 的腳本如何讓其自動輸入密碼登陸
生成ssh公鑰,建立和對方機器的信任關系; 2. 使用expect腳本; 3. 使用sshpass。
⑺ 需求:linux腳本ssh登錄到A機器然後再ssh到B機器然後再ssh到C機器,執行命令。這個腳本怎麼寫
#!/usr/bin/expect
spawnsshaaa@ip-address
expect"password:"
send"password "
expect"$"
send"sshbbb@ip-address "
expect"bbb@ip-address'spassword:"
send"password "
expect"$"
send"sshccc@ip-address "
expect"ccc@ip-address'spassword:"
send"password "
expect"$"
send"pwd "
interact
⑻ secureCRT中如何用 vbscript腳本實現SSH自動登錄
SSH的英文全稱是SecureShell傳統的網路服務程序,如:ftp和telnet在本質上都是不安全的,因為它們在網路上用明文傳送口令和數據,別有用心的人非常容易就可以截獲這些口令和數據。而通過使用SSH客戶端與伺服器端通訊時,用戶名及口令均進行了加密,有效防止了對口令的竊聽。同時通過SSH的數據傳輸是經過壓縮的,所以可以提高數據的傳輸速度,既然如此我們為什麼不使用它呢。SSH是由客戶端和服務端的軟體組成的,有兩個不兼容的版本分別是:1.x和2.x。至於具體如何安裝伺服器端,普通用戶就不需要關心了。一、安裝1、安裝首先要下載SecureCRT,目前最新的版本為6.1.3(截止到2008年2月,其破解版本TBE或AGAiN),我們以5.53版為例進行介紹,下載安裝文件scrt553.exe和破解文件keygen.exe。安裝過程很簡單,運行scrt553.exe,只要「下一步」即可,安裝過程中可以看到SecureCRT支持以下協議:SecureCRT使用說明-腳本之家安裝完成後,第一次啟動SecureCRT會有如下提示:SecureCRT使用說明-腳本之家用戶需要指定一個目錄,用來存放SecureCRT的配置信息。此目錄默認為C:\DocumentsandSettings\用戶名\ApplicationData\VanDyke\Config,如果是升級SecureCRT需要保持此文件夾與舊版本一致,如果重裝系統,一定要備份此目錄。如果需要更改,啟動SecureCRT後點擊Options=>Globalptions=>General修改Configurationfolder即可。2、破解未破解版本,只有30天的使用期。關閉SecureCRT,將keygen.exe拷貝到安裝目錄C:\ProgramFiles\SecureCRT中,運行它,填寫Name,Company後點擊Generate得到Serial,Date,LicenseKey信息,點擊Patch按鈕,破解並備份SecureCRT主程序。運行SecureCRT,點擊Help=>EnterLicenseData…,填寫從keygen得到的注冊信息即可。一般AGAiN破解版本期限一年。二、基本設置修改設置為了SecureCRT用起來更方便,需要做一些設置,需要修改的有如下幾處:1、退出主機自動關閉窗口Options=>Globalptions=>General=>DefaultSession=>EditDefaultSettingsSecureCRT使用說明-腳本之家Terminal中將Closeondisconnect選上,當用戶從主機中退出後可以自動關閉當前連接的窗口。SecureCRT使用說明-腳本之家2、修改默認卷屏行數當你做一個操作,屏幕輸出有上百行,當需要將屏幕回翻時,這個設置會有很大幫助,默認為500行,可以改為10000行,不用擔心找不到了。Terminal=>Emulation=>Scrollback修改為10000。SecureCRT使用說明-腳本之家3、修改SFTP默認下載路徑(可選):對於使用SSH的連接中,可以使用SFTP下載文件,在這里可以設置文件的下載目錄(默認為下載到「我的文檔」中)Connection=>SSH2=>SFTPTab=>Initialdirectories=>LocaldirectorySecureCRT使用說明-腳本之家4、修改Xmodem/Zmodem上傳下載路徑(可選)SecureCRT可以使用Xmodem/Zmodem方便的上傳和下載文件。在Sessionoptions=>Xmodem/Zmodem=>Directories中設置5、拷貝與粘貼的設置通過滑鼠操作即可拷貝或粘貼所需內容是一個非常方便的設置Options=>Globalptions=>Terminal=>Mouse選中Copyonselect和Pasteonmiddlebutton這樣設置後,只要用滑鼠選中所需內容,則將內容拷貝到剪切板中,點擊滑鼠中鍵即可粘貼內容。SecureCRT使用說明-腳本之家另外可以設置使用Windows下的拷貝粘貼快捷鍵,Options=>Globalptions=>General=>DefaultSession=>EditDefaultSettings=>Terminal=>Mappedkeys=>使用說明-腳本之家6、Tabs設置從Secure5.0以後,增加了Tabs(標簽)選項,多個連接可以在同一個窗口下打開,類似IE7.0的風格。將Double-click選項修改為CloseTab,雙擊標簽可關閉連接窗口。SecureCRT使用說明-腳本之家三、界面介紹1、菜單1)File文件Connect連接,打開一個連接或者編輯已有的連接,創建新連接。QuickConnect快速連接,快速連接對話框,快速連接主機的最便捷方式。ConnectinTab在Tab中打開一個新的會話窗口。CloneSession克隆當前會話窗口。ConnectSFTPTab打開SFTP窗口,對於SSH連接,此選項可用。在此會話窗口中可使用SFTP命令傳輸文件。Reconnect重新連接Disconnect中斷當前會話窗口的連接LogSession把當前窗口的會話記錄到log文件中。RawLogSession將更詳細的會話記錄到log文件中,包括伺服器更詳細的響應信息。TraceOptions在log文件中記錄協議會話信息選項。(包括客戶端與主機互相連接時的一些信息內容)2)Edit編輯拷貝粘貼等3)View視圖顯示各種工具條4)Options選項包括全局選項和Session選項5)Transfer傳遞文件使用Xmodem/Zmodem上傳下載文件6)Script.腳本運行一個腳本文件,或記錄一個新的腳本。(類似Word中的宏功能)7)Tools工具鍵盤映射編輯,密鑰生成工具等8)Help幫助2、對話框和按鈕點擊File=>Connect可出現Connect對話框。從左至右按鈕依次為:連接(激活選中的連接條目);快速連接(快捷連接新的主機);新建連接(在對話框中新增一個連接條目);剪切;復制;粘貼;刪除(對話框中的條目);新建文件夾,屬性(顯示選中條目的屬性),創建條目的桌面快捷方式,幫助。SecureCRT使用說明-腳本之家Connect對話框下方有兩個選項:Showdialogonstart(啟動SecureCRT時顯示Connect對話框);Openinatab(以新標簽卡的形式打開一個會話),選中此選項,新的會話窗口如下圖所示:在Linux主機下,可以使用Xmodem/Zmodem方便的上傳和下載文件基本命令:sz下載文件到本地;rz上傳本地文件到主機。5、其它技巧1)使用腳本來進行重復性工作可以像word的宏一樣,把你的重復性操作記錄為一個腳本文件Script.=>StartRecordingScript,開始記錄Script.=>StopRecordingScript,停止記錄,Saveas…保存成script文件。下次調用時Script.=>Run=>SelectScript.torun…SecureCRT使用說明-腳本之家2)使用Mapkey來進行重復輸入工作可以設置為全局選項(對所有連接都有效),也可以只設置為Session選項,如下圖Options=>Sessionptions=>Terminal=>Mappedkeys=>Mapakey,出現MapKey對話框SecureCRT使用說明-腳本之家SecureCRT使用說明-腳本之家例如,單擊F12鍵,在SendString輸入你要經常重復使用的命令,okSecureCRT使用說明-腳本之家則下次在會話窗口中點擊F12鍵將直接輸入df–m3)自動登錄以登錄一個Telnet的主機為例,Sessionptions=>Connection=>LogonScripts=>Automatelogon,在login後的send中輸入用戶名,在Password後的send中輸入密碼。則可實現自動登錄。SecureCRT使用說明-腳本之家用SecureCRT來上傳和下載數據SecureCRT可以使用linux下的zmodem協議來快速的傳送文件,只要設置一下上傳和下載的默認目錄就行options-->sessionoptions-->filetransfer下可以設置上傳和下載的目錄剩下的只要在用SecureCRT登陸linux終端的時候:發送文件到客戶端:szfilenamezmodem接收可以自行啟動.從客戶端上傳文件到linux服務端:只要服務端執行,rz然後在SecureCRT里選文件發送,協議zmodem。
⑼ 如何通過SSH遠程運行命令自動化
從客戶端來看,SSH提供兩種級別的安全驗證。 第一種級別(基於口令的安全驗證),只要你知道自己的帳號和口令,就可以登錄到遠程主機,並且所有傳輸的數據都會被加密。但是,這種驗證方式不能保證你正在連接的伺服器就是你想連接的伺服器。
⑽ echo命令能實現ssh的自動腳本登錄嗎
你的問題好奇怪,echo在不同shell中也都是同一個意思,回顯,回顯如何實現登錄?