問題タブ [net-ssh]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
3139 参照

ruby - Ruby の net/ssh 接続がリモート ホストによって閉じられました (Net::SSH::Disconnect)

サーバーに ssh してコマンドを実行するために使用net/sshしています。サーバーへのキーベースのアクセスがあり、ターミナルで通常どおり ssh に接続できます。私が知りたいのは、これの原因です。それが発生した場合にそれをキャッチして接続を再試行する方法はありますか?

エラー:

それを引き起こすコード:

0 投票する
2 に答える
577 参照

ruby-on-rails - ruby で net::ssh を使用して、sudo コマンドを使用してリモート システムから情報を取得する

リモートシステムにログインしてハードウェア情報を取得する必要がある状況があります。私は彼らのシステムにログインしました。これにはsshを使用しました。net-ssh gemを使用しています。ここにログインして情報を取得するコードがあります

sudo -S dmidecode -s system-serial-numberコマンドを使用した情報を取得するために、ユーザーパスワードをユーザー1.0.0のパスワードとして出力します 。そのメッセージを削除するにはどうすればよいですか?

このリンクを参照しましたが、実装もしましたが、ロードに時間がかかりますが、これを行う他の方法はありますか?

d

0 投票する
1 に答える
741 参照

ruby-on-rails - Rails + 遅延ジョブ: SSH 接続プール

現在の状況: N 個の遅延ジョブ ワーカーを含む Rails アプリがあります。マシンに SSH リクエストを送信するときはいつでも、ワーカー用のタスクを作成します。ワーカーは次のようなことを行います:

時々、50 個のタスクを 1 つずつ、または 5 ~ 10 分以内に実行するように作成します。この場合、各タスクは個別の接続を開きますが、これは効果的ではなく、接続が多すぎるためにターゲット サーバーによってブロックされることがあります。

私が欲しいもの:どこかに保存され、各ワーカーによって再利用される接続を開きました。各ワーカーが何らかの方法で接続を取得してから実行するように

私が試したこと

  • ファイル/データベース/キャッシュに接続を保存することは、シリアル化できないため不可能に見えます
  • 初期化子の下でインスタンス化されたグローバル変数を持つシングルトン クラスを使用しようとしました。ただし、クラス オブジェクトはワーカーごとに異なります (後で、グローバル変数をオプションにできないことがわかりました)。

それを解決する方法はありますか?他のアイデアはありますか?ありがとう!!

0 投票する
1 に答える
946 参照

ruby - リモートマシンでコマンドを実行するルビー

ruby の net ssh でコマンドをリモートで実行しようとしています。出力と終了コードが必要です。このトピックには他のスタック オーバーフロー スレッドがありますが、承認された解決策は機能しません。一部の人々は net-ssh-shell gem の使用を提案しましたが、試してみると、このパッケージが net-ssh パッケージのバージョンと競合しているというエラーが表示されました...これが私が持っているものです:

動作しますが、失敗しても例外は発生しません。また、チャネルを使用して終了コードを取得しようとしましたが、常に 0 が返されます。

私を助けてください。インターネット上の間違った情報に基づいて、すでにいくつかのことを試しました。

0 投票する
2 に答える
7541 参照

ruby - SSH 経由でリモートの Ruby スクリプト ファイルを実行するにはどうすればよいですか?

「test.rb」という Ruby ファイルがあり、Net::SCP 経由でサーバーにアップロードしました。

ファイルの内容は次のとおりです。

Net::SSH 経由でそのファイルを実行し、STDOUT または STDERR を取得するにはどうすればよいですか?

これは私が得ているエラーです:

これは、Net::SSH がログイン シェルをロードしないためです。

私は Net::SSH::Shell から SSHkit まですべてを試し、スクリプトを実行して STDOUT を取得するという問題を解決しました。

ログイン シェルにアクセスできない場合、Net::SSH 経由でスクリプトを実行し、STDOUT または STDERR を取得するにはどうすればよいですか?

Ruby-2.1.0 を使用しています。

0 投票する
1 に答える
4743 参照

ruby - MissingSourceFile: そのようなファイルを読み込めません -- net/scp

Rails (2.3.17) アプリを Ruby 1.9.3 にアップグレードしてからssh.sftp.upload!メソッドが失われたため、net-scp ライブラリを使用しようとしていますが、Rails では使用できないようです。ただしirb、レールコンソールではなく、ファイルを正常に要求できます。

ただし、これは機能するようです:

ここに私の関連がありますGemfile.lock

これを修正または回避するにはどうすればよいですか?