我需要登錄到一臺開發服務器才能將事情放到實時服務器上。 所以處理器是這樣的期望自動登錄到第二級遠程機器
- 登錄到開發服務器。
- 消防部署腳本
- 部署腳本要求3個密碼。
- 後面跟着ssh密碼短語。
我在開發和在線服務器上沒有任何其他訪問權限。所以我無法使用基於密鑰的身份驗證。以及我無法在服務器上安裝任何東西。
是否有可能使用期望或任何其他工具通過使用我可以自動化呢?
我試圖使用像
spawn ssh deploy
expect_after eof { exit 0 }
expect "# "
send "deploy_to_server <branch_name>\r"
expect eof
expect "*password*" { send "passworrd" }
編輯
spawn ssh deploy
send "deploy_to_server <branch_name>\r"
expect eof
expect "*password*" { send "passworrd\n" }
你需要發送'\ r'而不是'\ n'。 '\ r'對應於回車鍵。 –
當開發期望腳本時,總是在頂部放置'exp_internal 1'。你將能夠看到爲什麼你的模式無法匹配。 –
@glenn jackman 根據調試信息行期望「* password *」{send「passworrd \ n」}不等待密碼併發送輸出 –