删除用户目录下的 “.Xauthority”文件,并重新登录。
最多的情况是用户目录下的.ssh/目录中的known_hosts文件出错,删除其或者目录内所有文件。
#This file have the same function as /etc/.ssh/ssh_config Host * ForwardAgent no ForwardX11 no #Please try to use ssh -Y for X11 forwarding
服务端:
ClientAliveInterval 60 数值是秒 设置为60,就是1钟.
ClientAliveCountMax 10 设置允许超时的次数。比如10
则代表允许超时 600秒 = 10分钟
客户端:
TCPKeepAlive yes
ServerAliveInterval 60
这里似乎只客户端设置即可。
可使用 GNU_Screen, 同时软件还可以共享终端、实时互动。
为避免服务端和客户端的概念混淆,以下客户端总是指代使用putty的计算机,而服务端总是指代需要用putty ssh 登陆的远端服务器,即使在涉及X11 Server的部分也是如此,比如我们这里讲X11 Service安装在客户端的(这不同于通常将安装有X11 Server的计算机成为服务端)。
建议使用Xming而非X-win32是因为,Xming是免费的X11 server,并且持续更新中,不会因为版本旧而遇到兼容问题。而x-win32是收费软件,还不一定好用,例如:在使用x-win32+putty访问打开centos6.3服务器上的matlab2011a,并运行下面程序时,会遇到报错:openGL is installed incorrectly。
H=1:1000;hist(H,1000)
putty和xming的下载可到其项目地址:
http://www.putty.org/
http://www.straightrunning.com/XmingNotes/
putty下载后可直接打开使用,Xming安装时可以选择同时内置putty(默认),也可以取消内置,一般选择取消集成putty,其他一路默认。
客户端Xming的X11 Server服务可以有两种方式,一种是不开启Access Control,一种开启此服务。开启此服务可以阻挡没有认证的远端服务器发出的X11显示请求,否则是完全开放客户端的X11服务给任何请求。开启Access Control会比较安全,但是配置比较复杂,很可能问题比较多。我们首先介绍简单的:
安装Xming后,一定以XLaunch方式打开,并注意勾选No Access Control,其他默认即可。然后开启putty,之后一定要在putty > Connection > SSH > X11 中勾选Enable X11 Forwarding,之后在 X display local 中填写:localhost:0,SSH进入服务服务器,即可开启X11程序。有时偶尔需要export DISPLAY=独户端IP:0.0 。
安装Xming后,可以选择直接打开Xming即可,默认是启用 Access Control。然后使用putty登陆服务器:一定要在putty > Connection > SSH > X11 中勾选Enable X11 Forwarding,之后可以在 X display local 填写:localhost:0。但有时localhost:0是无效的,无法启动DISPLAY:Can't open display: ... ,或者键入xhost + 会显示错误信息,如:PuTTY X11 proxy: wrong authentication protocol attemptedxhost: unable to open display ... 。在正确的配置时,xhost + 的正确输出结果应该是:access control disabled, clients can connect from any host 。xhost - 的正确输出是:access control enabled, only authorized clients can connect 。
如果无法启动客户端的X11 Server DISPLAY,此时可在服务器的终端中键入命令:
$ xauth list myhostname/unix:12 MIT-MAGIC-COOKIE-1 5195ba0c5b4sdfasdfasc0bda2d96c0b8ea
那么对应应该调整DISPLAY显示变量为export DISPLAY=localhostname:displaynumber.screennumber,这里displaynumber为12(根据不同机器很可能不是12,请自行查看 xauth list 得到),screennumber:
export DISPLAY=localhost:12.0 或是 export DISPLAY=myhostname:12.0
此时可再次使用xhost -检验显示状态,状态无误,应该就可以开启X11图形程序了,如xclock。
如果仍然报错,很可能是因为 xauth 使用的认证文件出现错误或冲突,认证文件默认为用户目录下的.Xauthority文件。原因可能是由于home目录是直接从旧系统的home继承的,保留了旧系统的认证信息,这与新系统发生了冲突,也导致xauth list命令的结果会出现重复的号码和旧的主机名。解决办法很简单,按照步骤依次为:rm -f ~/.Xauthority (删除用户目录下得授权文件.Xauthority) >>> ls -la (确认已删除) >>> exit (退出SSH命令,或者putty) >>> 关闭Xming >>> 开启Xming >>> 开启putty或进入SSH >>> xauth list (得到displaynumber) >>> export DISPLAY=localhost:displaynumber.0 >>> xhost - (检验显示是否正常,可选择省略过) >>> 开启X11图形程序。
【其他参考】
http://www.benjr.tw/node/497
关于ssh的简单介绍:http://benjr.tw/node/105
http://blog.163.com/caizf1987@126/blog/static/13212128020104611592660/
http://cicikasa.blog.163.com/blog/static/13757535520103111714508/