0

SSH と Ruby を使用して Cisco スイッチに接続しようとしています。問題は、空の「ログイン名」を入力する必要があることです。その後、ユーザー名とパスワードの入力を求められます。Putty では、次のようにします。 パテ

これが私がNET::SSHに接続しようとした方法です。

CISCO = "host" #Enter the IP address here 
USER = "operacao" #Enter username here 
PASS = "" #Enter password here 
tn = Net::SSH::Telnet::new("Host" => CISCO, "Timeout" => 60, "Prompt" => /^\login as:/ ) 
tn.cmd("\n") { |c| print c } 
tn.cmd("\n#{USER}") { |c| print c } 
tn.cmd(PASS) { |c| print c } 
tn.print("echo oi") { |c| print c } 
tn.close

Rubyでこれを行う方法はありますか?

4

2 に答える 2

0

ここでこのサンプルを見つけました。これが何らかの方向性を示してくれることを願っています。このコードを実行する前に、以下を実行していることを証明してください。
gem install net-ssh

   #!/usr/bin/env ruby
   require 'net/ssh'

   HOST = '192.168.1.113'
   USER = 'username'
   PASS = 'password'

   Net::SSH.start( HOST, USER, :password => PASS ) do|ssh|
   result = ssh.exec!('ls')
   puts result
   end

Net::SSH の唯一の要件は、Ruby の openSSL バインディングです。これで OK かどうかを確認できます。

C:\Sites>ruby -ropenssl -e 'puts OpenSSL::OPENSSL_VERSION'
OpenSSL 1.0.0k 5 Feb 2013

C:\Sites>

編集:
私はいくつかの調査を行い、いくつかの答えを見つけました。次を確認する必要があると思います:
ciscoスイッチへのtelnetと
ジュニパールーターを構成するためのnet-ssh

于 2013-05-03T19:37:04.103 に答える
0

スクリーンショットから、「login as:」、「User Name:」、「Password」の順に表示されます。私は Cisco スイッチに詳しくないので、次のビデオ ( http://www.youtube.com/watch?feature=player_detailpage&v=3v3Iw87vEQ8#t=566s ) を見たときに、SSH レイヤーのユーザー名とパスワードが提供されました。 IOS の 1 つ。

すべての資格情報を SSH から直接要求できるかどうか、または部分的に IOS を使用する必要があるかどうかに応じて、カスタマイズされたソリューションを提供できるはずです。

于 2013-05-03T11:58:03.207 に答える