web-dev-qa-db-ja.com

JavaScriptを使用してSSHに接続することは可能ですか?

WebSockets(http://novnc.com)を使用したVNCの実装があることは知っていますが、それでもサーバーが必要です。 SSHを実行しているポートへの単純なクライアント側JavaScriptのみ(Flashなし)接続を作成したいと考えています。 TCPを行うため、WebSocketsが唯一の方法だと思います。コード例はありますか?その他の方法で?

28
pathikrit

申し訳ありませんが、制約があるため(クライアント側のJavascriptのみ)、古いSSHサーバーに接続する方法はありません。

WebSocketsは単純なTCPではありません。これは、Originポリシーを含む、クライアントとサーバー間のHTTPのようなハンドシェイクを備えたフレームプロトコルです。

Flashは単純なTCP=接続を作成できますが、Originポリシーも適用されます。これを行う方法は、ポート843で同じサーバーに接続し、以下を含む特別なXMLファイルを要求することです。 Originのポリシー。サーバー(任意のサーバー)またはクライアントのいずれかでTCPプロキシへの汎用WebSocketを実行することを希望する場合など、制約を少し緩和することをいとわない場合は、 noVNCにはCとpython WebSockets to TCP proxy: http://github.com/kanaka/noVNC/tree/master/utils /

役立つと思われるその他の情報:

16
kanaka

serfish をご覧ください。これは、SSHサーバーにアクセスするためのソリューションです。ただし、sshと同じサーバーでWebアプリケーションをホストしている場合は、 Shell in a box などの他の解決策があります。

4
Colin Hebert

まだ検索している人にとって、paramikojsが答えになる可能性があります。

現在、同様の問題が発生しています。SSHJSクライアント側の実装が必要であり、BSDライセンスを取得する必要があります。残念ながらparamikojsはGPLライセンスを持っているようです。

4
Nathan Appere

優れたOpenRISCエミュレーター jor1k のような完全なネットワークサポートを備えたLinuxエミュレーターを使用することは間違いなく可能です。

私は browser-tools.net を作成したことに注意してください。これは、さまざまなプロジェクトからのブラウザー内ツールのコレクションです。

1
Jun