2009-06-15 23 views
0

Net::SCPでは、DSCキーまたはRSAキーが必要です(getとput機能はいつ使用しますか)。私は、ファイルを転送せずにscpサービスが利用可能であることを知りたいと思います。 the docs in CPANパーscpがPerlから入手できるかどうかはどのように判断できますか?

+0

質問は奇妙に思います。ここにある回答が気に入らなかったのですか?http://stackoverflow.com/questions/985551/how-can-i-detect-if-scp-service-is-available-at-remote-host-with-out - 送信 - ? – innaM

+0

同じ質問を3回聞くと答えは変わりません。 –

+1

あなたは確かですか?私の子供が母親とやりとりするのを見ることはあなたの声明と矛盾します... – lexu

答えて

3

、あなたはあなたの前にも、輸入そのモジュールを、それを必要とする、と私は引用:

「」」 Q:どのようにネットを使用してperlスクリプト内にsshで接続するためのパスワードを指定しません:: SSHモジュール

A:?。あなたは、RSAまたはDSAキーを使用していない(1)のmanページにssh-keygenはを参照してください

"" つまり」

、。は、事前に生成され伝播された秘密/公開鍵のペアを介して「パスワードなし」のSSH認証で使用するように設計されています。

+0

あなたはネット:: SCP 0.07を引用します。 0.08ドキュメント追加:A#2:Net :: SCP :: Expectを参照してください。 – ysth

1

Net::SCPはscpのラッパーであるため、スクリプトにキーを提供する必要はありません(つまりできません)。あなた(または他の誰か)は、sshを使用しようとする前にsshを設定することによってセットアップを行うことが期待されます。

NET :: SCPは「アドホック」として使用されることはありません。 sshの設定とキーの交換が必要です。

use Net::Ping; 
$p = Net::Ping->new("tcp", 2); 
$p->port_number(scalar(getservbyname("ssh", "tcp"))); 
if ($p->ping($hostname)) { 
    print "ok!"; 
} 

あなたはネットを使用することができます:あなたが望むすべては、リモートシステムでは、SSH/SCPのポートで待機しているかどうかを確認する場合は、あなたがpingを試すことができysthさんのコメント

+0

scpは、パスワードの入力を求めて、特別に使用できます。多分あなたは "Net :: SCPは意味されていません..." – ysth

+0

yepp ..それは私が何を意味したかです。 – lexu

1

を組み込む

EDIT :: SSHまたはNet :: SSH :: ExpectまたはNet :: SSH2またはNet :: SSH :: Perl。キーまたはパスワードがあり、実際にファイルを転送せずに接続できることを確認したい場合。

1

パスワード認証を使用してSSHを使用する場合は、Net::SSH::Perlを検討してください。

関連する問題