我正在尝试使用perl自动执行一个进程,该进程基本上会telnet到一个系统,“ssh -f -N”再进两个,最后打开一个screen / tmux会话并运行sshuttle,然后断开与screen / tmux的连接。
如果我要使用“-f -N”选项运行ssh - 最好通过Net :: SSH :: Expect,Net :: Expect,system或exec来处理吗?
我关注Net :: SSH或Net :: Expect,因为我不确定一些事情,首先,我怎样才能让Net :: Expect / SSH认识到SSH会话成功了?也就是说,当我编写Net :: Expect并使用这些参数生成ssh会话,然后登录时,'expect'就没有更多的输出了。我希望依赖于预期超时之外的其他事情。
这有意义吗?我不确定我是否清楚地表达了我的问题。
如果我生成进入后台的ssh会话,我也不确定perl的行为方式。我的perl程序永远不会退出吗?等待后台的SSH会话结束?
由于这最后一个问题,我提出了额外的问题,即我是否应该考虑使用Net::Expect
上的系统或执行调用。