web-dev-qa-db-ja.com

「xauthデータがありません」という警告を防ぐにはどうすればよいですか。 X11転送に偽の認証データを使用していますか?

MacからLinux(Debian)へのssh接続を開始するたびに、次の警告が表示されます。

No xauth data; using fake authentication data for X11 forwarding.

これは、gitやMercurialなど、sshを使用しているツールでも発生します。

これが表示されないように、システムをローカルで変更したいだけです。

注:Mac OS X(10.8.1)にX11サーバー(XQuartz 2.7.3(xorg-server 1.12.4))があり、正しく動作しています。ローカルまたはリモートで正常にクロックを開始できます。

76
sorin

原因を見つけた、私の~/.ssh/configは不完全でした。両方が必要です:

Host *
    ForwardAgent yes
    ForwardX11 yes

私の間違いは、ForwardX11オプションのみを含めたことです。

24
sorin

投稿された解決策はどれも私にとってうまくいきませんでした。私のクライアント(デスクトップ)システムはmacOS 10.12.5(Sierra)を実行しています。 sshコマンドのオプションに-vを追加したところ、

debug1: No xauth program.

これは、xauthプログラムへの正しいパスがないことを意味します。 (このバージョンのmacOSでは、xauthへのパスは非標準です。)解決策は、この行を/etc/ssh/ssh_config(一部のセットアップでは/etc/ssh/configの場合があります)または~/.ssh/config(管理者権限がない場合)に追加することでした:

XAuthLocation /opt/X11/bin/xauth

これで警告メッセージは消えました。

80
nmgeek

Windows 10でUbuntu bashが_ssh -X_を実行してリモートサーバーにGUI環境を取得できるようにする

  • 最初

以下をすべてインストールします。ウィンドウで、Xmingをインストールします。 Ubuntu bashでは、_Sudo apt install_を使用して_ssh xauth xorg_をインストールします。

_Sudo apt install ssh xauth xorg
_
  • 二番目

_ssh_config_ファイルを含むフォルダーに移動します。私のものは_/etc/ssh_です。

  • 第三

管理者として_ssh_config_を編集します(USE Sudo)。 _ssh_config_内で、ForwardAgent、_#_、_ForwardX11_の行のハッシュ_ForwardX11Trusted_を削除し、対応する引数をyesに設定します。

_# /etc/ssh/ssh_config

Host *
    ForwardAgent yes
    ForwardX11 yes
    ForwardX11Trusted yes
_
  • 前方へ

_ssh_config_ファイルで、_#_と_Port 22_の前にあるフロントハッシュ_Protocol 2_を削除し、ファイルの最後に新しい行を追加して、xauthファイルの場所を記述します_XauthLocation /usr/bin/xauth_、xauthファイルの独自のパスを記述してください。

_# /etc/ssh/ssh_config

#   IdentifyFile ...
    Port 22
    Protocol 2
#   Cipher 3des
#   ...
#   ...
    ...
    ...
    GSSAPIDelegateCredentials no
    XauthLocation /usr/bin/xauth
_
  • 第五

_ssh_config_ファイルの編集が完了したので、エディターを終了するときにファイルを保存します。次に、フォルダ_~_または_$HOME_に移動し、_export DISPLAY=localhost:0_ファイルに_.bashrc_を追加して保存します。

_# ~/.bashrc
...
...
export DISPLAY=localhost:0
_
  • 最終

あと少しで完了です。 bashシェルを再起動し、Xmingプログラムを開いて_ssh -X yourusername@yourhost_を使用します。次に、GUI環境をお楽しみください。

_ssh -X yourusername@yourhost
_

問題はWindowsのUbuntuサブシステムにもあり、リンクは

https://Gist.github.com/DestinyOne/f236f71b9cdecd349507dfe90ebae776

注:リンクされたテキストには2つのタイプミスが含まれています(XauthLocaionではなくXauthLocation

15
DestinyOne

前述のように、OS X Yosemiteのxauthは、XQuartzの$DISPLAY設定では機能しない古いバージョンに後退しているようです:

% xauth -V
1.0.9
% xauth generate $DISPLAY .
xauth: (argv):1:  bad display name "/private/tmp/com.Apple.launchd(...)/org.macosforge.xquartz:0" in "add" command
11
guest

現在、MacOSにバグがあります。私もこれに出くわしました。私のための修正は、私の.bash_profileに以下を追加することを含みました

dispdir=`dirname $DISPLAY`
dispfile=`basename $DISPLAY`
dispnew="$dispdir/:0"
if [ -e $DISPLAY -a "$dispfile" = "org.x:0" ]; then
  mv $DISPLAY $dispnew
fi
export DISPLAY=$dispnew

基本的に、Xルートに関連付けられているファイルパイプの名前は正しく処理できないため、修正する必要があります。 :-)

2
Red Tux

含む

〜/ .ssh/configのXAuthLocation/opt/local/bin/xauth

私のmacOSでは、Sierra 10.12.6がうまくいきました。回答7)からの小さな変更。

〜/ .Xauthority(宛先マシン)をルートフォルダーから削除し、ssh -X 192.168.123.1を再度実行したところ、ikが機能しました。

1
Marcel Kraan

私の場合、それは転送されなかったMagic cookieを含む.Xauthorityの問題でした、 http://askubuntu.com/questions/571116/ のFabbyが推奨します2014-11-14にこの行を.bashrcまたは。 suを呼び出すときにユーザー間でxauthキーの転送を許可するプロファイル:

export $(dbus-launch)

以前にも追加しました:

export XAUTHORITY=~/.Xauthority 

リモートがssh -X̍@で呼び出されたことを確認するには、それを見つけます。

私の場合、.Xauthorityは元のユーザー/home//.Xauthorityへのシンボリックリンクです...

  cd /home/<child_user>;ln -sf /home/<parent_user>/.Xauthority .xAuthority

正しい権利で:

  Sudo chown <parent_user> /home/<parent_user>/.profile
  chmod a+rw /home/<parent_user>/.profile 

したがって、とにアクセスできます。でアプリをトリガーし、プロキシアカウント全体のローカルウィンドウにXウィンドウの結果を表示できます。

ヒント:xauthリストを確認してください...のマジッククッキーを反映している場合。

1
all-informatic

私はこれをコメントとして追加しますが、十分な担当者がいません。 sorin のソリューションにもう1行追加すると、うまくいきました。

クライアントマシンで、vim ~/.ssh/configを使用してssh設定ファイルを編集します

次に、これらの行を追加します。

Host *
    ForwardAgent yes
    ForwardX11 yes
    XAuthLocation /opt/X11/bin/xauth

xauthの場所を再確認するには、次のコマンドを使用します:

which xauth
1
ssanch

これは、CygwinのインストールをあるPCから別のPCに移動した後に起こりました。問題はホスト名の変更であるように思われました:マジックCookieは新しいPCのホスト名に対応しなくなりました。

ランニング

touch ~/.Xauthority
xauth add :0 . `mcookie`

ローカルのCygwinインストールで問題が修正されました-xauth listが新しいPCの正しいホスト名に関連付けられた魔法のcookieをリストし、警告が表示されなくなりました。

1
Irfy

私の目標は、macOSクライアントからLinuxホストに静かなsshベースのコマンドラインログインを取得することでした。例えば。バナーやメッセージを見たくありませんでした。証明書ベースのログインをセットアップするだけで、エイリアスをに入力して、ホストマシンでプロンプトを表示できます。それを達成するために、私は次のことをしました:

  • Debian 10 LinuxHost私が触れた(たとえば作成された)~/.hushlogin

  • ただし、macOS Catalinassh clientでは、次のメッセージが表示されました。

    xauthデータなし; X11転送に偽の認証データを使用します。

xauthバイナリの場所を確認した後、macOSクライアントでXAuthLocation /opt/X11/bin/xauth/etc/ssh/sshd_configを追加しましたが、使用すると機能しませんこのコマンド:

ssh -Y user@debian10

最終的な分析では @ ssanchの答えdidは私のために働きます。しかし、その解決策を見つける前に、一部の人に役立つ可能性のある回避策を見つけました。

ssh -Yy user@Host

小文字の-yフラグをsshコマンドラインに追加すると、そのログ出力がstderrではなくsyslogに送信され、必要なクワイエットログインも可能になります。

0
clearlight