リモートコンピュータ(好ましくはSSH経由)に接続し、そこからコマンドを抽出したいと思います。
正確には、リモートコンピュータをローカルコンピュータに接続して対話型コンソールを使用し、コマンドを送信して出力を確認したいと思います。
機能的には、Windows Remote Assistantまたは他の名前と呼ばれるものと似ています。
私はGUIを使用してHTTPサーバーを実装し、要求に応じて永続的な接続を維持し、入力したすべての行をGUIに送信し、相手が送信したすべてを出力として受け取ることを想像できます。 HTTPヘッダーだけを処理するだけです。しかし、これはあまりエレガントではありません。
既製のソリューションがありますか?または、nc
一部のツールを使用してTTYをリスニングポートに接続できますか?
ベストアンサー1
実行する場合:
socat "unix-listen:$HOME/.shell-access,mode=600,fork" \
"exec:$SHELL,pty,stderr,setsid,ctty"
たとえば、次のことができます。
socat -,raw,echo=0 "unix:$HOME/.shell-access"
ローカルでシェルに接続して対話します。
その後、SSHを介してリモートポート転送を実行できます。
ssh -R "/path/to/socket/on/host:$HOME/.shell-access" user@host
(opensshバージョンが比較的新しいバージョンであるとします(クライアントとサーバー))。
その後、次の手順を実行してシェルと対話user
できます。host
socat -,raw,echo=0 "unix:/path/to/socket/on/host"
$SHELL
複数の人が同じ画面セッションを表示できるようscreen -xRS some-screen-session
にするのではなく、特定のセッションを接続するために実行できます。screen