启动vnc4server之后出现如下错误提示:LSPPC-Lenny:~# vnc4server xauth: (stdin):1: bad display name "LSPPC-Lenny:1" applications specified in /root/.vnc/xstartup Log file is /root/.vnc/LSPPC-Lenny:1.log 可以正常进入X界面,但是xauth
然后又会调用到x11setauth()函数: #ifndef XAUTH_COMMAND#define XAUTH_COMMAND "/usr/bin/xauth -q"#endif/* This is 在x11setauth中,会调用popen执行/usr/bin/xauth -q,并将chansess中存储的cookie作为参数,此处参数没有对换行符等进行过滤,因此可以针对xauth的参数进行注入。 -q", mode=0x4208ca "w") at iopopen.c:273 可以看到已经断下来,开始运行/usr/bin/xauth -q命令 后面便会将我们传入的cookie参数传递给xauth ,由于换行符未进行过滤,因此可以针对xauth进行命令注入。 可以看出,新版本在获取到用户的输入后将cookie传入xauth_valid_string进行了检验 /* Check untrusted xauth strings for metacharacters
", api.XPing) r.Get("/stats/:xauth", api.Stats) r.Get("/slots/:xauth", api.Slots) r.Put(" /reload/:xauth", api.Reload) r.Put("/shutdown/:xauth", api.Shutdown) r.Put("/loglevel/:xauth/ xauth/:token", api.ReinitProxy) r.Put("/remove/:xauth/:token/:force", api.RemoveProxy) }) ) r.Put("/add/:xauth/:gid/:addr/:datacenter", api.GroupAddServer) r.Put("/del/:xauth/:gid /:xauth/:sid", api.SlotRemoveAction) r.Put("/interval/:xauth/:value", api.SetSlotActionInterval
服务器主机的权限(这并非最安全的方式): xhost +local:docker 在成功使用该项目后,再将控制权限改回默认值: xhost -local:docker 创建两个环境变量 XSOCK 和 XAUTH : XSOCK=/tmp/.X11-unix XAUTH=/tmp/.docker.xauth XSOCK 指 X11 Unix socket,XAUTH 指具备适当权限的 X 认证文件: xauth /ffff/' | xauth -f $XAUTH nmerge - 最后,我们还要更新 docker 运行的命令行。 XAUTHORITY 的 X 认证文件安装卷: docker run -it --rm --device=/dev/video0 -e DISPLAY=$DISPLAY -v $XSOCK:$XSOCK -v $XAUTH :$XAUTH -e XAUTHORITY=$XAUTH 现在我们可以运行 docker 容器了,而它完成后是这样的: ?
服务器主机的权限(有一定安全隐患)让 docker 访问它: xhost +local:docker 在完成项目后,应当恢复默认设置 xhost -local:docker 然后创建两个环境变量 XSOCK 和 XAUTH : XSOCK=/tmp/.X11-unix XAUTH=/tmp/.docker.xauth 第一个环境变量引用 X11 unix 套接字,第二个引用 X 验证文件配置适当的权限: xauth nlist /ffff/' | xauth -f $XAUTH nmerge - 最后,我们只需要更新我们的 docker run 命令。 XAUTHORITY 的环境变量,并让该变量指向它: docker run -it --rm --device=/dev/video0 -e DISPLAY=$DISPLAY -v $XSOCK:$XSOCK -v $XAUTH :$XAUTH -e XAUTHORITY=$XAUTH 现在我们可以运行 docker 容器看看效果 ?
xauth list是我们的证书。sudo xauth add 在加上我们的证书就可以给root添加了。xauth list先看一下我们的证书。 sudo xauth add hidden/unix:10 MIT-MAGIC-COOKIE-1 0b0d152f01d6b86efda47ee7e036f005添加我们的证书给root。
具体使用软件是MacOS的Quartz或Windows的Xming, Linux的xauth, VScode的插件remote X11和remote X11(ssh).效果展示图片过程可视化方案大概需要三个步骤 所以尽量建议官网下载安装包, 安装之后记得重启一下.brew install xquartzWindowsWindows用的应用是Xming6, 具体应用和配置见1,2,3.安装服务器X端(X Server)主要需要安装的是xauth , 建议一并安装xclock方便测试.如果是centOS可以使用yum install -y xauth xclock.安装和配置VScode插件需要的插件有两个:remote X11remote X11
一,在linux机上安装xorg-x11-xauth 如果没装,启动GUI程序会提示Canno open display。 方法: yum install xorg-x11-xauth 二、打开linux服务器的sshd的X11转发功能: vi /etc/ssh/sshd_config 配置: X11Forwarding
使用X11 Forwarding需要安装rpm包xorg-x11-xauth,如果你在安装linux系统时,选择了安装X Window System,那这个包是默认安装的。 #yum -y install xorg-x11-xauth xclock #xclock 是用来测试gui输出的 /etc/init.d/sshd restart 重启sshd服务 可以验证 现在我们就可以用
可能原因: 服务器未安装X11相关组件(如xauth)。 SSH服务端未启用X11Forwarding(检查/etc/ssh/sshd_config)。 解决方案: 如果需要X11转发,确保服务器安装xauth并启用配置: sudo apt install xauth # Debian/Ubuntu sudo yum install xauth
sshd_config,把刚才增加的X11UseLocalhost yes改成:X11UseLocalhost no,接着sudo service sshd restart sudo apt purge xauth 然后sudo apt install xauth重新安装xauth授权。 echo $DISPLAY可以显示当前xauth自动生成的显示端口,比如我这里是:ubuntu:10.0,ubuntu是我的linux主机名,其实在我这里ubuntu跟localhost是一样的。
DISPLAY environment variable specified # ssh 添加 - Y flag 登录远程主机 ssh -Y user@host # 登录成功后可能出现以下错误,安装 xauth 即可解决 ssh -Y root@192.168.117.148 X11 forwarding request failed on channel 0 # 远程主机安装 xauth,以 centos 为例,使用 xclock 可以测试图形化效果 yum install -y xauth xclock xclock # 如果需要浏览器支持安装 firefox 或者 chrome 即可 yum install Install X authority file utility $ sudo yum install xauth 参考资料 [1] https://askubuntu.com/a/432257/745885
现在,我们将首先安装X软件通过SSH进行认证所需的xauth sudo apt-get install xauth 在客户端上安装X11 Linux 如果您在本地PC上使用Linux桌面环境,那么X11
对端必须配置为rightxauthclient ,做为XAUTH客户端 leftxauthclient 左侧为XAUT客户端。 xauth连接必须进行交互启动,不能使用配置 atuo=start。 它必须使用命令行ipsec auto --up conname leftxauthusername XAUTH认证中使用的用户名,XAUTH密码在 ipsec.secrets 文件中配置 leftmodecfgserver
,headers=send_headers_login) response_login = urllib2.urlopen(req_login,data_login) xauth response_login.headers['X-Auth'] COOOOOOOOkie = response_login.headers['Set-Cookie'] print COOOOOOOOkie,xauth 0.8,en-US;q=0.5,en;q=0.3', 'Content-Type':'application/json;charset=utf-8', 'X-Auth':xauth gzip, deflate, br', 'Content-Type': 'application/json;charset=utf-8', 'X-Auth':xauth
123456 # rpm -qa | grep xorg-x11 xorg-x11-xauth-1.0.2-7.1.el6.x86_64 xorg-x11-xinit-1.0.9-14.el6.x86_
官方下载页面: https://mobaxterm.mobatek.net/download.html 1.安装 X11 Forwarding 相关软件 sudo yum install xorg-x11-xauth
,headers=send_headers_login) response_login = urllib2.urlopen(req_login,data_login) xauth response_login.headers['X-Auth'] COOOOOOOOkie = response_login.headers['Set-Cookie'] print COOOOOOOOkie,xauth 0.8,en-US;q=0.5,en;q=0.3', 'Content-Type':'application/json;charset=utf-8', 'X-Auth':xauth gzip, deflate, br', 'Content-Type': 'application/json;charset=utf-8', 'X-Auth':xauth
服务端如果是 centOS 可以使用yum install -y xauth xclock.如果是 ubuntu 可以使用apt install -y xauth x11-apps.本地准备mac:首先安装
[FAILED] # vncpasswd # service vncserver start Starting VNC server: 1:root xauth : creating new authority file /root/.Xauthority xauth: (stdin):1: bad display name “eos.north.m.mrcode.com