2016-07-14 43 views
3

我使用Net :: SFTP :: Foreign與IO :: Pty。如何處理Net :: SFTP :: Foreign無效的用戶名或密碼錯誤?

我的登錄命令是:

Net::SFTP::Foreign->new(host=> $server_address, 
         user => $user_id, 
         password => $password) 
    or die "Could not Connect To Server $server_address: $!"; 

當我通過爲服務器/用戶/密碼輸入無效,這不是拋出的錯誤消息。它只是掛在命令行上,在30分鐘以後不會輸出任何輸出。

請幫助如何處理錯誤,如果有任何無效的輸入參數。

如果我傳遞所有有效值,它的工作正常。

+1

無效,你的意思是一個錯誤的密碼?或者,當您使用既不是主機名也不是IP地址的'$ server_address'時,這也會發生嗎? – simbabque

+0

是的。錯誤的密碼/錯誤的服務器名稱/錯誤的用戶名。如果我通過任何錯誤的價值觀,這項工作只是掛了很長時間,並沒有完成。 – Edu

+2

在模塊和'ssh'中啓用調試,並在這裏輸出:'$ Net :: SFTP :: Foreign :: debug = -1;我的$ sftp = Net :: SFTP :: Foreign-> new(more =>'-vvv',...);' – salva

回答

1

最後,使用以下選項,我能夠處理該問題。 Net :: SFTP :: Foreign :: debug = -1; (sshp = Net :: SFTP :: Foreign-> new(host => $ server_address,user => $ user_id,password => $ password,more =>' - vvv',timeout => 30);

該命令將處理錯誤的host_name,user_id或password。如果無法建立連接,則在等待超時的秒數後,作業將失敗。

相關問題