我需要登录一个开发服务器才能将内容放在实时服务器上。 处理器就像这样
我在开发和实时服务器上没有任何其他访问权限。所以我不能使用基于密钥的身份验证。以及我无法在服务器上安装任何东西。
是否可以使用expect或任何其他实用程序,我可以自动执行此操作?
我尝试过使用
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" }
答案 0 :(得分:1)
您错过了发送中的行终结符:
expect "*password*" { send "passworrd\n" }
除此之外,首先期待eof然后在没有重生的情况下等待密码提示似乎是非常荒谬的。
答案 1 :(得分:0)
取决于您如何登录开发服务器以及部署脚本如何工作。如果一切都是基于文本的,那么使用expect脚本来做它就不是问题。