我是一個系統測試員,並且我有一組特定的DUT可以在預發行版本的固件或候選版本上運行。在預發行版中,我可以通過使用特定用戶帳戶登錄來訪問DUT的Linux核心操作系統。發佈候選人不允許這樣做。Expect腳本:需要一種方法來驗證SSH連接不需要密碼
我寫的腳本的全部基礎是能夠遠程執行駐留在DUT上的腳本。我想檢查一下是否可以訪問需要密碼的Linux核心操作系統。如果我有權訪問,則繼續退出腳本。
我已經嘗試了很多事情,並且在針對發佈候選版進行測試時都會失敗,因爲預期會輸入密碼。這是最新的嘗試:
set status [catch {exec ssh [email protected]$host ls} result]
if { [regexp "Password:" $result]} then {
# A password was asked for. Fail
puts "This is a Release Candidate Version\nAccess to the Linux OS is denied"
exit
} else {
# no password needed. Success
puts "This is a Pre-Release version"
}
當針對預發佈版本執行此代碼時,此代碼有效。但是,當需要密碼時,它不會像SSH會話提示輸入密碼並等待輸入。
有沒有人有一個解決方案,將突破所需的密碼方案?
謝謝
我真的很想切換到使用密鑰與SSH,因爲那樣你就不需要有密碼參與。但它確實需要更多的設置。 –