de-vraag
  • Вопросы
  • Метки
  • Пользователи
Оповещения
Вознаграждения
Регистрация
После регистрации, сможете получать уведомления об ответах и комментариях на Ваши вопросы.
Вход
Если у Вас уже есть аккаунт, войдите чтобы проверить новые уведомления.
Тут будут вознаграждения за добавленные вопросы, ответы и комментарий.
Дополнительно
Источник
Редактировать
Eric Seifert
Eric Seifert
Вопрос

Net :: SSH с хостом unix/linux?

Я пытаюсь использовать библиотеку Net :: SSH для входа в систему и управления хостом, который поддерживает ssh. Это часть телекоммуникационного оборудования, и поэтому говорит TL1. Кажется, я могу успешно войти в систему, но когда я пытаюсь что-то сделать с ssh.exec, он прерывает высказывание, что не может выполнить команду. Вот мой простой код:

require 'net/ssh'

Net::SSH.start('10.204.121.192', 'password', :password => "password") do |ssh|
  ssh.exec("INH-MSG-ALL;")
end

Если я укажу тот же код на сервере Linux и предоставил такую ​​команду, как «ls -l /», он отлично работает. Мне интересно, могу ли я использовать эту библиотеку ssh? Нужно ли использовать другую команду вместо exec?

Это вывод ошибки:

/usr/local/rvm/gems/ruby-1.9.2-p290/gems/net-ssh-2.2.1/lib/net/ssh/connection/session.rb:322:in `block (2 levels) in exec': could not execute command: "INH-MSG-ALL;" (RuntimeError)
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/net-ssh-2.2.1/lib/net/ssh/connection/channel.rb:597:in `call'
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/net-ssh-2.2.1/lib/net/ssh/connection/channel.rb:597:in `do_failure'
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/net-ssh-2.2.1/lib/net/ssh/connection/session.rb:586:in `channel_failure'
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/net-ssh-2.2.1/lib/net/ssh/connection/session.rb:456:in `dispatch_incoming_packets'
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/net-ssh-2.2.1/lib/net/ssh/connection/session.rb:213:in `preprocess'
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/net-ssh-2.2.1/lib/net/ssh/connection/session.rb:197:in `process'
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/net-ssh-2.2.1/lib/net/ssh/connection/session.rb:161:in `block in loop'
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/net-ssh-2.2.1/lib/net/ssh/connection/session.rb:161:in `loop'
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/net-ssh-2.2.1/lib/net/ssh/connection/session.rb:161:in `loop'
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/net-ssh-2.2.1/lib/net/ssh/connection/session.rb:110:in `close'
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/net-ssh-2.2.1/lib/net/ssh.rb:194:in `start'
from ssh_test.rb:3:in `
'
1 2011-10-27T19:41:31+00:00 2
Программирование
ruby
forker
27-го октября 2011 в 7:47
2011-10-27T19:47:50+00:00
Дополнительно
Источник
Редактировать
#56792064

Я предполагаю, что он отлично работает при входе в оболочку вручную.

Чтобы понять, в чем разница, когда вы подключаетесь через net/ssh, собираете вывод команды env в обоих случаях и сравниваете.

Это, скорее всего, вы увидите разницу, которая приведет вас к решению или, по крайней мере, даст вам грязный трюк.

ОБНОВИТЬ. (Не работает)

Net::SSH.start('10.204.121.192', 'password', :password => "password") do |ssh|
   ssh.open_channel do |channel|
        channel.on_data do |ch, data|
          puts "got data: #{data.inspect}"
        end
        channel.send_data("INH-MSG-ALL;\n")
   end
end

<Сильный> UPDATE2. (Рабочий)

Net::SSH.start('10.204.121.192', 'password', :password => "password") do |ssh|
   ssh.open_channel do |channel|
        channel.send_channel_request "shell"
        channel.on_data do |ch, data|
          puts "got data: #{data.inspect}"
        end
        channel.send_data("INH-MSG-ALL;\n")
   end
end
1
0
qwebek
18-го июня 2012 в 12:53
2012-06-18T12:53:07+00:00
Дополнительно
Источник
Редактировать
#56792065

Спасибо forker за ваши обновления),

Еще кое-что,

от вашего кода, как сделать это

puts "got data: #{data.inspect}"

для вывода данных для каждой команды, отправленной в оболочку?

Означает ли этот код выполнение каждой команды?

Благодарю.

0
0
Похожие сообщества 6
Чат по руби
Чат по руби
2 395 пользователей
Чат-болталка для учеников руби-школы и не только. Правила: https://telegra.ph/Pravila-chata-Rubi-shkoly-03-13 или тут https://graph.org/Pravila-chata-Rubi-shkoly-03-13
Открыть telegram
RubyRush.ru
RubyRush.ru
2 253 пользователей
Дружелюбный чат для начинающих программистов и учеников rubyrush.ru, обсуждаем программирование, ruby и т. п. Правила чата https://gprg.dev/r/10073 Популярные вопросы (с ответами) https://gprg.dev/r/10074 💎🦜
Открыть telegram
pro.rb (Ruby/Rails / RU)
pro.rb (Ruby/Rails / RU)
1 223 пользователей
Язык программирования Ruby: https://ru.wikipedia.org/wiki/Ruby Вакансии: @rubyjob
Открыть telegram
Ruby, Rails, Hanami | dry-rb
Ruby, Rails, Hanami | dry-rb
350 пользователей
Открыть telegram
Ruby — вакансии и аналитика
Ruby — вакансии и аналитика
325 пользователей
Публикуем вакансии и запросы на поиск работы по направлению Ruby. Full-time, part-time, remote и разовые подработки. Обмен инсайдами и аналитикой на рынке труда. Тематическое общение: @ruby_ru См. также: @python_jobs, @nodejs_jobs, @devops_jobs
Открыть telegram
Ruby Talks
Ruby Talks
274 пользователей
Национальная Флеймотека
Открыть telegram
Добавить вопрос
Категории
Все
Технологий
Культура / Отдых
Жизнь / Искусство
Наука
Профессии
Бизнес
Пользователи
Все
Новые
Популярные
1
Roxana Elizabeth CASTILLO Avalos
Зарегистрирован 4 дня назад
2
Hideo Nakagawa
Зарегистрирован 5 дней назад
3
Sergiy Tytarenko
Зарегистрирован 1 неделю назад
4
shoxrux azadov
Зарегистрирован 1 неделю назад
5
Koreets Koreytsev
Зарегистрирован 1 неделю назад
© de-vraag 2022
Источник
stackoverflow.com
под лицензией cc by-sa 3.0 с атрибуцией