当我从命令行执行此操作时,系统会提示我输入 joe 的密码(这正是我想要的):
ssh -t 192.168.1.32 'scp joe@192.168.1.31:/etc/hosts /tmp'
Run Code Online (Sandbox Code Playgroud)
当我尝试从 perl 脚本运行相同的命令时,它只是挂在那里(没有提示):
`ssh -t 192.168.1.32 'scp joe\@192.168.1.31:/etc/hosts /tmp'`;
Run Code Online (Sandbox Code Playgroud)
我怎样才能从 Perl 脚本中完成这项工作?
注意:不,我不能为此使用基于密钥的身份验证。
你可以使用预期。见/sf/answers/95676171/
(以及有关此主题的 Expect 模块常见问题解答http://search.cpan.org/~rgiersig/Expect-1.15/Expect.pod#I_want_to_automate_password_entry_for_su/ssh/scp/rsh/ ... )
归档时间: |
|
查看次数: |
3028 次 |
最近记录: |