web-dev-qa-db-ja.com

SSHを介してグラフィカルモードでWindowsマシンからLinuxサーバーにアクセスする

Windowsを実行している自宅のコンピューターから学校のLinuxサーバーの1つにアクセスする必要があります。そして、シェルだけでなく、リモートでグラフィカルデスクトップ(Xサーバー)にアクセスする必要があります。

問題には、設定が異なる3つのLinuxサーバーが含まれます。それらのいずれにも管理者権限がなく、これらの設定を変更できません。 3つのサーバーはAisa、Lethe、Auraと呼ばれます(ここではギリシャ神話が好きです)。それらのすべては学校のローカルネットワークの一部です。

LetheまたはAuraのグラフィカルインターフェイスにアクセスする必要がありますが、どれでも問題ありません。

これが私が見つけたものです:

  • vPNなどのサービス用のポートは、3つのいずれでも使用できません。
  • SSHは、Auraではなく、LetheとAisaで許可されています。 PuTTYを使用してAisaまたはLetheにSSHで接続し、次にssh aura
  • 私は試しました Xmingプログラム これは、SSHを介してWindowsからLinuxへのグラフィカルな接続を可能にします。この方法でしかAisaに接続できませんでした(なぜLetheに接続できないのですか?!PuTTYはそこで動作します)。

では、WindowsコンピュータからLetheまたはAuraへのグラフィカル接続を取得するにはどうすればよいですか?どんな提案でも大歓迎です。

editvncserverを実行した後、AuraからAisaに戻る方法を示すコードは次のとおりです。

aisa:/home/user>$ ssh aura
Last login: Sat Oct 13 00:00:00 2012 from aisa.domain.com
aura:/home/user>$ module add vnc
aura:/home/user>$ vncserver

New 'aura.domain.com:1 (user)' desktop is aura.domain.com:1

Starting applications specified in /home/user/.vnc/xstartup
Log file is /home/user/.vnc/aura.domain.com:1.log

aura:/home/user>$ Connection to aura closed by remote Host.
Connection to aura closed.
aisa:/home/user>$ 

edit 2ファイルの内容/home/user/.vnc/aura.domain.com:1.logコマンドvncserverを実行した後:

aura:/home/user>$ cat /home/user/.vnc/aura.domain.com:1.log
/packages/run/vnc-4.1.2/Xvnc: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
/home/user/.vnc/xstartup: line 4: xsetroot: command not found
/home/user/.xsession: line 15: xset: command not found
vncconfig: unable to open display "aura.domain.com:1"
/home/user/.xsession: line 42: xmodmap: command not found
Module xv
Module modules
Module viewers
Module WindowMaker-0.80.2
Module mozilla
ModuleCmd_Load.c(199):ERROR:105: Unable to locate a modulefile for 'mozilla'
stty: standard input: For this device invalid ioctl
wmaker: error while loading shared libraries: libtiff.so.3: cannot open shared object file: No such file or directory

注:チェコ語で表示された一部の文字列を翻訳しました(Auraはチェコ語版のRed Hatを実行しています)

7
Rasto

VNC Xサーバーを使用してみることができます。非特権ポートを使用して通信し、ルート特権なしで実行できます。 VNCのビルドを回避するために、使用中のディストリビューションに含まれているVNCのポートを確認します(いくつかのオプションTigerVNCOpenVNCRealVNC、e.t.c。があります)。

たとえば、Fedora 17には、VNCサーバーを起動するために必要なすべてを備えたtigervnc-server-minimalパッケージがあります。

/usr/bin/Xvnc 
/usr/bin/vncconfig 
/usr/bin/vncpasswd 
/usr/share/man/man1/Xvnc.1.gz 
/usr/share/man/man1/vncconfig.1.gz 
/usr/share/man/man1/vncpasswd.1.gz

それをダウンロードして、バイナリを抽出し、それらを〜/ binフォルダーに入れてください。

まず、各システムでvncpasswdを1回実行して、vncサーバーインスタンスにアクセスするためのパスワードを設定する必要があります。

次に、コマンドXvncを使用してサーバー自体を起動し、サーバーが起動したディスプレイをメモします(標準出力に情報が出力されます)。

次に、TCP PuTTYを使用したポート転送を番号5900+<display number>のポートに設定します。たとえば、ディスプレイ:1の場合は、ポート5901へのトンネル:

PuTTY -ssh -L5901:127.0.0.1:5901 user@Host

次に VncViewer を起動し、Windowsボックスのディスプレイlocalhost:1に接続します。

完了したら、Xvncサーバーを停止することを忘れないでください。サーバーのリソースを無駄にすることはありません。

killall Xvnc

オーラの場合は、直接ログインできないため、もう少し複雑です。サーバーの1つがLAN内の任意のマシンへのトンネルの設定を許可している場合は、適切なトンネルを作成します。

PuTTY -ssh -L5901:<ip-of-aura>:5901 user@Host

それ以外の場合は、aisaまたはletheでリモートシェルからポート転送を使用してauraでsshセッションを開始します。

ssh -L5901:127.0.0.1:5901 aura
3
Serge

VNCは、GUIプログラムを実行する最も簡単な方法ではありません。接続がダウンしてもプログラムを強制終了しないなど、直接的なリモートXの方法よりも優れていますが、リモート側で実行するプログラムがさらに必要です。簡単な方法として、Xming + PuTTYまたはXming + Cygwin SSHをお勧めします。

Xmingサーバーを実行し、次にPuTTYを実行して、Xを転送するように指示します。AisaでXプログラムを実行できるので、その部分はすでに機能しています。 LetherとAuraへのX転送も有効にしていることを確認してください。

これがLetheで機能しない理由は、X転送が無効になっているか、一部のライブラリが不足している可能性があります。 SSHセッション(echo $DISPLAY)のDISPLAY環境変数の値を確認します。 localhost:10.0のような何かが見えるはずです。値が空の場合、X転送は失敗しました。システム管理者によって無効にされている可能性があります。通常/etc/sshd_configまたは/etc/ssh/sshd_configのSSHサーバー構成を確認します。 X11Forwarding yesという行が含まれている必要があります。そうでない場合は、システム管理者に追加するように依頼してください(そうすることでサーバーにセキュリティ上のリスクはありません。clientはすべてのリスクを負い、いずれにせよ手動で設定できるため、オプションdefault offは意味がありませんが、デフォルトのOpenSSH構成ではこのようになっています)。

サーバーでX11転送が無効になっている場合でも、X11転送を機能させることができる場合がありますが、多少の努力が必要です。リモート側のポート6010からローカルホストのポート6000へのポート転送を設定する必要があります。ポート6000 + [〜#〜] n [〜#〜]DISPLAY value :N.0。それに応じてDISPLAY環境変数を設定します。ポート6010のexport DISPLAY=localhost:10。ポート6010がLetheで使用されている場合は、別のポートを選択してください。次に、X Cookieをリモートシステムにコピーする必要があります。 XmingでCookieを抽出する方法がわかりません。サーバー側でxauth add localhost:10 0123456789abcdef0123456789abcdefを実行します(32桁の16進数はCookieの値です)。

Auraの場合、SSHトンネリングを使用します。 PuTTYにAisaに接続するように指示し(エージェントとX11転送を有効にして)、そこでssh -Xコマンドを実行します。