我有一個使用ssh密鑰連接到特定用戶的遠程服務器的腳本。但是,id用戶信息已更改且密鑰未更新,腳本將掛起等待密碼。在Perl中提示輸入密碼時死亡
當系統提示輸入密碼時,如何捕獲並丟棄DIE?
例如,如果我使用:
system("ssh -C [email protected] -i /.ssh/USER.key ...");
和USER不在USER.key相同的用戶,它掛在等待一個密碼。我寧願讓它死亡。
不使用perl模塊來處理這個問題的最佳方法是什麼?
我有一個使用ssh密鑰連接到特定用戶的遠程服務器的腳本。但是,id用戶信息已更改且密鑰未更新,腳本將掛起等待密碼。在Perl中提示輸入密碼時死亡
當系統提示輸入密碼時,如何捕獲並丟棄DIE?
例如,如果我使用:
system("ssh -C [email protected] -i /.ssh/USER.key ...");
和USER不在USER.key相同的用戶,它掛在等待一個密碼。我寧願讓它死亡。
不使用perl模塊來處理這個問題的最佳方法是什麼?
試試這個:
system('ssh -o BatchMode=yes -C [email protected] -i /.ssh/USER.key ...');
的批處理模式選項將防止SSH提示輸入密碼,如果需要密碼將簡單地終止。
你是否考慮過使用從CPAN提供的任何SSH模塊作爲Net :: SSH2或Net :: OpenSSH?
這個問題不是關於Perl,而是關於如何調用'ssh'命令行客戶端。 – 2010-11-17 17:01:24