はじめに telnetは、汎用的な双方向通信プロトコルであり、平文で通信する。以前scpが失敗する件について記事にしたが、.bashrc等の設定次第で、RubyでNet::Telnetを使用するとき、失敗することがある。 Net::Telnetクラス 基本の使い方 Rubyのマニュアルを確認すると、 require 'net/telnet' # リモートホスト "foobar" に接続 # タイムアウトは 10 秒 localhost = Net::Telnet.new("Host" => "localhost", "Timeout" => 10) # ログインし、プロンプトが出るまで待ち合わせる telnet.login("your name", "your password") {|c| print c} # ls コマンドを実行し、実行後、プロンプトが出るまで待ち合わせる telne
![RubyのNet::TelnetはPromptを適切に設定しないと接続がTimeoutする - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/e1ef68be7be744b8b2c17f1f7b1343f8091660e4/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZ0eHQ9UnVieSVFMyU4MSVBRU5ldCUzQSUzQVRlbG5ldCVFMyU4MSVBRlByb21wdCVFMyU4MiU5MiVFOSU4MSVBOSVFNSU4OCU4NyVFMyU4MSVBQiVFOCVBOCVBRCVFNSVBRSU5QSVFMyU4MSU5NyVFMyU4MSVBQSVFMyU4MSU4NCVFMyU4MSVBOCVFNiU4RSVBNSVFNyVCNiU5QSVFMyU4MSU4Q1RpbWVvdXQlRTMlODElOTklRTMlODIlOEImdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTc2MWU0NTM5MjkwMDcwZjc5ZmU4YTE3NmNkOGNiNTMx%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwbW9udGJsYW5jMTgmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTg3YjE5MTc5MzBiOThlN2I0ZjkyMDk4YzRiMzQ2NWUy%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D3ade3d53477d0dea264055bd5e062bc0)