當我 ssh 進入無頭 Linux Mint 17 系統時,它不會建立更新/建立 .Xauthority 檔案。
此外,當我運行時,xauth
我得到回應:
marty@N40L ~ $ xauth
xauth: file /home/marty/.Xauthority does not exist
Using authority file /home/marty/.Xauthority
xauth>exit
marty@N40L ~ $ xauth
xauth: file /home/marty/.Xauthority does not exist
Using authority file /home/marty/.Xauthority
xauth>
它不會創建該文件。
編輯:
當我連接監視器,然後在本地登入時,會建立該文件,但當我嘗試新增條目時(因為我的 SSH 不為我執行此操作):
marty@N40L ~ $ xauth list
N40L/unix:0 MIT-MAGIC-COOKIE-1 34eee3b15cdb281021502d40dfba1cf2
localhost.localdomain/unix:0 MIT-MAGIC-COOKIE-1 34eee3b15cdb281021502d40dfba1cf2
marty@N40L ~ $ ls -d .X*
-rw------- 1 marty marty 115 Sep 3 12:03 .Xauthority
marty@N40L ~ $ xauth generate $DISPLAY .
PuTTY X11 proxy: wrong authorisation protocol attemptedxauth: (argv):1: unable to open display "localhost:10.0".
順便說一句,執行 anetstat --listen
顯示連接埠偵聽:
tcp 0 0 localhost:6010 *:* LISTEN
啊啊,更多資訊。我註銷了伺服器上的 X 會話,現在 .Xauthority 檔案已經消失。看來該文件僅在本地登入時才存在。誰能告訴我為什麼,或者我該如何解決這個問題?
新發展:
我在系統上建立了一個名為「test」的原始使用者。然後我登錄,沒有任何其他命令,運行 xeyes。哪個有效!所以只有使用者「marty」不能轉發。如何將設定從 test 複製到 marty?
答案1
只是報告一下,我確實遇到了類似的問題。但就我而言,我只是遵循那些步驟:
請依照以下步驟建立$HOME/.Xauthority
文件。
以使用者身分登入並確認您位於使用者的主目錄中。
# Rename the existing .Xauthority file by running the following command
mv .Xauthority old.Xauthority
# xauth with complain unless ~/.Xauthority exists
touch ~/.Xauthority
# only this one key is needed for X11 over SSH
xauth generate :0 . trusted
# generate our own key, xauth requires 128 bit hex encoding
xauth add ${HOST}:0 . $(xxd -l 16 -p /dev/urandom)
# To view a listing of the .Xauthority file, enter the following
xauth list
從那時起,文件就不再有問題了.Xauthority
。
感謝並致謝斯里尼瓦桑。
答案2
在 root 權限下開啟/etc/ssh/sshd_config
並取消註解以下行(如果有註解):
X11轉發 是
X11顯示偏移 10
X11UseLocalhost 是
然後登出並-X
使用 中的標誌再次登入ssh
。您不必設定或取消設定DISPLAY
環境變數。
答案3
答案4
將.ssh
目錄移開使 X 轉發對我有用。
透過排除的過程,我在~/.ssh中找到了一個名為“rc”的文件,其中包含:
echo "Wecome to $(hostname), $(whoami)"
我從來沒有創造過這個,也不知道它來自哪裡。刪除它解決了問題,並且我的authorized_keys
、known_hosts
和密鑰檔案都可以完好無損。