web-dev-qa-db-ja.com

sshとSudo、ただし$ DISPLAYなし

通常、Sudo suを使用してXアプリケーションを取得するためにsshでこれを行います

ssh -X server

OKIログイン

xauth list $DISPLAY

私に戻ります

server/unix:10  MIT-MAGIC-COOKIE-1  blablablablabla

それから私はします

Sudo su
xauth add server/unix:10  MIT-MAGIC-COOKIE-1  blablablablabla

そして、Xアプリケーションを実行した後、それは正しいです。

問題はCentos7にあります。

xauth list $DISPLAY

そして、何も返しません。私はMITによって与えられた魔法のクッキーを追加しようとします

xauth list

しかし、もちろんそれは機能しません。 Sudoを使用しない、sshを介した通常のX転送が機能します。

Sshdの設定は、3つのサーバーで同じです。

  1. slackware[〜#〜]機能[〜#〜]
  2. hpux[〜#〜]機能[〜#〜]
  3. centos7 NOT WORKING
6
elbarna

解決策が見つかりました。これからコピーされた別の方法 blog このスクリプトの使用

userfirst=sshloginuser
usersecond=sudoorsuuser

$usersecond@Host$

    su - $userfirst -c 'xauth list' |\
         grep `echo $DISPLAY |\
             cut -d ':' -f 2 |\
             cut -d '.' -f 1 |\
             sed -e s/^/:/`  |\
         xargs -n 3 xauth add

または単にuser1としてロギングする

xauth list

suまたはSudo su user2

xauth add OUTPUTOFXAUTHLIST
3
elbarna

別の解決策は、現在のユーザーの.Xauthorityファイルをrootユーザーのファイルとマージすることです。

  1. ssh user@Host
  2. .Xauthorityファイルのアクセス許可を変更して、rootもアクセスできるようにします。
  3. Sudo su - root
  4. xauth merge /home/users/user/.Xauthority

テスト

gedit somefile.log

Geditウィンドウが開きます。

5
Zeus

これは古い投稿かもしれませんが、sudoerユーザーの.Xauthorityファイルをルートサーバーに(サーバーで)永久にリンクすることで解決しました。

Sudo ln -s /home/userWithPrivileges/.Xauthority /root/.Xauthority

これにより、他に何もする必要がなくなり、Sudoの有無にかかわらずGUIアプリケーションを起動できるようになりました。

0
alete