我有一个脚本,它使用ssh密钥连接到特定用户的远程服务器.但是,如果用户信息被更改且密钥未更新,则脚本将挂起等待密码.
如何在提示输入密码时捕获此信息并抛出DIE?
例如,如果我使用:
system("ssh -C USER@someserver.com -i /.ssh/USER.key ...");
Run Code Online (Sandbox Code Playgroud)
和USER在USER.key中不是同一个USER,它挂起等待密码.我宁愿让它死.
在不使用perl模块的情况下处理此问题的最佳方法是什么?
试试这个:
system('ssh -o BatchMode=yes -C USER@someserver.com -i /.ssh/USER.key ...');
Run Code Online (Sandbox Code Playgroud)
BatchMode选项将阻止ssh提示输入密码,并且只有在需要密码时才会终止.
| 归档时间: |
|
| 查看次数: |
244 次 |
| 最近记录: |