2012-04-03 41 views
-1

我試圖避免使用Net :: SSH :: Perl庫,因爲在使用CPAN安裝模塊時存在一些問題。當我看到它依賴於一長串其他Perl模塊時,手動安裝似乎太麻煩了。如何在Perl中使用Net :: SSH傳遞密碼?

我想實現的是用我的用戶名和密碼登錄SSH。然後我需要在其中運行一些命令並使用SSH從服務器檢索一些文件。

我知道如何使用「ssh($ username。」@「。$ ip,$ command)來傳遞用戶名,主機名和命令,或者」SSH失敗!「;」「。不過,我不斷收到此錯誤信息:

ssh: connect to host XX.XX.XX.XXX port 22: Connection refused 

其中XX.XX.XX.XXX是我的電腦的主機名或IP地址,並且是在一個子網中,我試圖從獲得的文件服務器。

有沒有人知道我可以通過密碼到SSH或介紹我在Net :: SSH上的好教程?我在網上找到的大多數教程都在Net :: SSH :: Perl上,而不是Net :: SSH上。

+0

它會對你有用。看起來像類似的討論。 http://stackoverflow.com/questions/9766780/perl-script-to-execute-ssh-command-without-using-password – rpg 2012-04-03 08:54:34

+0

嗨。我需要Net :: SSH而不是Net :: SSH :: Perl的幫助,因爲由於CPAN和手動安裝的問題,我無法安裝Net :: SSH :: Perl。你給我的鏈接是Net :: SSH :: Perl。 – Sakura 2012-04-03 10:08:43

+1

「連接被拒絕」表示客戶端無法與服務器進行通信,而不是服務器拒絕了憑據。 – Quentin 2012-04-03 11:21:53

回答

0

您是否看到Net :: SSH文檔的FAQ部分?

問:如何使用Net :: SSH模塊在perl 腳本中提供密碼以連接ssh?

答:你沒有(至少沒有這個模塊)。使用RSA或DSA密鑰。請參閱 下一節中的快速幫助和ssh-keygen(1)聯機幫助頁。

A#2:改爲參見Net :: SSH :: Expect。

建議嘗試Net :: SSH :: Expect是一個很好的建議。聽起來,根據你所說的,它符合你的需求。 我已經使用了Net :: SSH :: Expect,並且我可以證明它的簡單性,如果你只是想快速完成某件事

相關問題