リモートマシンでssh経由でrdesktopを実行する

リモートマシンでssh経由でrdesktopを実行する

私は 4 つの異なる Raspberry デバイスを所有しており、それぞれ 4 つの異なるモニターに接続しています。私の会社の以前の技術者は、それらすべてに VNC サーバーをインストールして有効にしていたため、リモート デスクトップでそれらに接続し、1 つのコマンドだけを実行できました。

rdesktop -f -d -k en-us -d ourdomain -u tv1 10.xxx.xxx.xx1

彼はそれぞれに接続して上記のコマンドを実行していましたが、もちろんユーザーとターミナルサーバーは異なっていました。私は、Fedoraボックスから上記のすべてをsshpassとsshのパワーと組み合わせて実行するより便利な方法を探していました。そこで、まず試してみました。

sshpass -p 'somepass' ssh [email protected]

そして私が実行するセッションから

rdesktop -f -d -k en-us -d ourdomain -u tv1 10.xxx.xxx.xx1

しかし、「ディスプレイ ポートを開けませんでした」というエラーが発生しました。これで、このコマンドの結果または他のコマンドの結果がターミナルに表示されることがわかりました。そこで、ssh コマンドのいくつかの代替を試しましたが、結果は画面に rdsektop が表示されるか、上記のエラーが表示されるかのいずれかでした。

sshpass -p 'somepass' ssh [email protected] -t rdesktop -f -d -k en-us -d ourdomain -u tv1 10.xxx.xxx.xx1

または

sshpass -p 'somepass' ssh [email protected] -t -X rdesktop -f -d -k en-us -d ourdomain -u tv1 10.xxx.xxx.xx1

ここで実現したいのは、リモート マシンで rdesktop コマンドを実行し、以前に作成したセッションをそのテレビ画面に表示することです。簡単に言うと、vnc ログインをバイパスし、すべてを ssh から実行します。何か方法はありますか? どこかが間違っていることはわかっていますが、どこが間違っているのかわかりません。

答え1

ディスプレイポートを開けませんでした

このコマンドは、X11 転送が自動的に行われていない可能性があることを示しています。ただし、リモート システムから X11 アプリケーションを実行しようとしているようです。

リモート システムから rdesktop を実行する予定の場合は、SSH サーバーが X11 転送をサポートする必要があり、リモートにパッケージがインストールされている必要があります。クライアントからの X11 転送を有効にするには、xauthssh クライアント構成を調整するか/etc/ssh/ssh_config、コマンド ラインに~/.ssh/config渡す必要があります。-Xssh

ただし、リモート マシンから実行するのrdesktopは最善の選択肢ではないかもしれません。基本的に、X11 セッションのすべてのオーバーヘッドに加えて、RDP セッションのすべてのオーバーヘッドが発生します。SSH のポート転送機能を使用してから、ローカルの rdesktop/freerdp クライアントを実行する方がよい場合があります。そうすれば、リモート X11 セッションによくある速度低下を回避できます。

最後に、sshpass の使用を再検討することを強くお勧めします。可能であれば、代わりにキーベースの認証を使用することを検討してください。

関連情報