Ssh

pam_xauth 不適用於 sudo:不支持的授權協議

  • January 21, 2022

我正在嘗試在使用者之間設置xauthcookie 轉發,以便 GUI 程序可以通過 SSH 以任何使用者身份執行。我在 and 中添加了以下/etc/pam.d/su/etc/pam.d/sudo

session    optional   pam_xauth.so

但是,執行 GUI 程序root仍然失敗:

pi@raspberrypi:~ $ echo $DISPLAY
localhost:10.0
pi@raspberrypi:~ $ xauth list
raspberrypi/unix:12  MIT-MAGIC-COOKIE-1  XXX
raspberrypi/unix:11  MIT-MAGIC-COOKIE-1  XXX
raspberrypi/unix:0  MIT-MAGIC-COOKIE-1  XXX
raspberrypi/unix:10  MIT-MAGIC-COOKIE-1  XXX
pi@raspberrypi:~ $ leafpad
# leafpad window opens

pi@raspberrypi:~ $ sudo su
root@raspberrypi:/home/pi# echo $DISPLAY
localhost:10.0
root@raspberrypi:/home/pi# xauth list
xauth:  file /root/.Xauthority does not exist
root@raspberrypi:/home/pi# leafpad
PuTTY X11 proxy: Unsupported authorisation protocol
leafpad: Cannot open display:

root@raspberrypi:/home/pi# touch /root/.Xauthority
root@raspberrypi:/home/pi# xauth add $(xauth -f ~pi/.Xauthority list | tail -1)
root@raspberrypi:/home/pi# leafpad
# leafpad window opens

我沒有任何使用者的~/.xauth/import/~/.xauth/export文件。我在 SSH 客戶端執行 PuTTY+Xming(沒關係)。我期待為我pam_xauth創造/root/.Xauthority,但那沒有發生。知道為什麼嗎?

我不確定自 2018 年以來情況是否發生了變化,但現在在 2021 年的 Debian Bullseye 上,問題中描述的配置更改工作正常。pam_xauth 使用 cookie創建一個臨時文件並設置$XAUTHORITY為指向該文件。

該問題可能與此 GitHub 問題有關。它工作的版本sudo是 1.9.5。

引用自:https://unix.stackexchange.com/questions/629659