2016-04-26 20 views
11

Czy istnieje sposób wyłączenia lub ustawienia długości strony ruby ​​połączenia Net-SSH, abyśmy nie musieli zmieniać ustawień na urządzeniu zdalnym?Blokowanie SSH Ruby

W routerach Cisco, aby to osiągnąć, używamy parametrów "terminal 0", ale na innych serwerach nie możemy używać żadnych poleceń symulacji. Czy można to ustawić za pomocą biblioteki Net-SSH?

+0

Możliwe obejście: 'export PAGER = cat'. –

+0

@Jordan Próbowałem tego, ale to nie zadziałało. Dodałem linię w moim .bashrc – Bulki

+1

czy możesz wkleić, jak używasz net-ssh? – Anko

Odpowiedz

1

Zakładając, że zdalny koniec ma powłokę, wówczas wysokość terminalu jest ustawiana w zmiennej środowiskowej LINIE. Można spróbować ustawić go tak:

Net::SSH.start('hostname', 'user') do |ssh| 
    ssh.exec!('LINES=50 your-command-here') 
end 

Jeśli nie posiadają otoczkę można spróbować mając net-ssh pchnąć go:

ENV['LINES'] = '50' 
Net::SSH.start('hostname', 'user', send_env: ['LINES']) do |ssh| 
    ssh.exec!('your-command-here') 
end 

Wymaga to jednak współpracy sshd. Jeśli to OpenSSH, edytuj plik/etc/ssh/sshd_config i upewnij się, że AcceptEnv zawiera LINIE.