Net-Ssh가 Exec에 대해 불평 할 때해야 할 일! 방법이 누락 되었습니까?

StackOverflow https://stackoverflow.com/questions/957158

  •  12-09-2019
  •  | 
  •  

문제

이것은 나를 미치게합니다. 나는 매번 이것에 들어간 다음 새로운 우분투/데비안 서버에서 이루어집니다. 기본적으로 나는 exec를 할 수 없습니다! Net-Ssh를 통해. 'net/ssh'가 완벽하게 잘 필요할 수 있습니다.

샘플 코드

require 'rubygems'
require 'net/ssh'

Net::SSH.start('my.random.box', 'myuser', :forward_agent => "true") do |ssh|

  #output = ssh.exec("hostname")
  #puts output 

  output = ssh.exec!("hostname")
  puts stdout
end

관련 시스템 환경 정보

me@box:~$ gem list | grep net-ssh
net-ssh (2.0.11)
me@box:~$ which ruby
/usr/bin/ruby
me@box:~$ which gem
/usr/bin/gem


cyn0n@spicetrader:~$ gem environment
RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.4
  - RUBY VERSION: 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
  - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8
  - RUBY EXECUTABLE: /usr/bin/ruby1.8
  - EXECUTABLE DIRECTORY: /usr/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-linux
  - GEM PATHS:
     - /usr/lib/ruby/gems/1.8
     - /home/me/.gem/ruby/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - :sources => ["http://gems.rubyforge.org/", "http://gems.github.com"]
  - REMOTE SOURCES:
     - http://gems.rubyforge.org/
     - http://gems.github.com
도움이 되었습니까?

해결책

시도해야 할 몇 가지 사항 :

  1. exec인지 확인하십시오! 메소드는 소스에 있습니다.
  2. 두 개의 보석 리포지토리를 확인하여 이전 NET-SSH 버전이 없는지 확인하십시오. gem list 이상한 점이 있습니다. 디렉토리에 들어가서 무엇이 있는지 보는 것이 더 간단합니다.
  3. require 스크립트의 현재 버전.

    require 'rubygems'

    gem 'net-ssh', '=2.0.11'

    require 'net-ssh'

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top