在Windows下用ssh连接服务器的话putty是一个小巧而且实用的工具,如果想要图形界面,可以使用X工具配合putty。

或者直接使用xmanager enterprise,非 常方便。
 
如果在Ubuntu系统下,ssh客户端一般是自带的,如果没有可以执行sudo apt-get install openssh-client进行安装,

之后执行ps -e|grep ssh如果有ssh-agent那么就表示ssh客户端安装成功了。在终端可以输入

ssh username@192.168.1.100登录到192.168.1.100这个ssh服务器,然后会让你输入密码,之后就登录了。
 
ssh连接成功后,如果想要显示图形界面,需要做一些配置。步骤如下:
 
1、服务器端的ssh必须运行转发X界面,在ssh服务器中,找到/etc/ssh/sshd_config 这个配置文件,其中有一行

X11Forwarding yes,确保这个是yes(注意这个配置文件中的#是注释,确保X11Forwarding前面没有#注释),

然后重启ssh服务,cd /etc/init.d这个目录下执行 ./ssh restart
 
2、客户端配置,在/etc/ssh/ssh_config配置文件中,找到ForwardAgent yes,ForwardX11 yes,

ForwardX11Trusted yes这3个确保是yes(注意这个配置文件中的#是注释,确保你修改的行没有被注释掉)
 
3、配置完成后,进入终端,现在假设我们的Ubuntu客户端的ip是1.1.1.1(只是假设),而ssh服务器的ip是2.2.2.2。

下面是执行步骤,注意别弄错了:
 
首先终端未连接ssh之前,执行xhost +2.2.2.2 这个步骤是允许ssh服务器的X界面连接过来
 
然后执行ssh -X root@2.2.2.2 注意-X这个是大写的X,这个步骤是连接到ssh服务器,接着会要输入密码
 
这个时候终端已经连接到ssh服务器了,然后执行export DISPLAY=1.1.1.1:0.0这个步骤是把ssh服务器的X显示重新定位

到1.1.1.1的0.0显示器中,也就是我们的客户端
 
然后做个测试,执行xclock,等待。。。如果这个时候在你的Ubuntu界面中出现了一个时钟界面,那么恭喜你成功了。

在Linux/Unix类操作系统上, DISPLAY用来设置将图形显示到何处. 直接登陆图形界面或者登陆命令行界面后

使用startx启动图形, DISPLAY环境变量将自动设置为:0:0, 此时可以打开终端, 输出图形程序的名称(比如xclock)来启动

程序, 图形将显示在本地窗口上, 在终端上输入printenv查看当前环境变量, 输出结果中有如下内容: DISPLAY=:0.0

xhost 是用来控制X server访问权限的,这个命令将允许别的用户启动的图形程序将图形显示在当前屏幕上。

通常当你从hostA登陆到hostB上运行hostB上的应用程序时,做为应用程序来说,hostA是client,但是作为图形来说,

是在hostA上显示的,需要使用hostA的Xserver,所以hostA是 server.因此在登陆到hostB前,需要在hostA上

运行xhost +,来使其它用户能够访问hostA的Xserver.

ssh & display的更多相关文章

  1. 如何将Python项目发布到PyPI

    The Python Package Index (PyPI) is a repository of software for the Python programming language. 如何打 ...

  2. 设备管理 USB ID

    发现个USB ID站点,对于做设备管理识别的小伙伴特别实用 http://www.linux-usb.org/usb.ids 附录: # # List of USB ID's # # Maintain ...

  3. ssh调用matplotlib绘图报错RuntimeError: Invalid DISPLAY variable

    1.问题:在本地用matplotlib绘图可以,但是在ssh远程绘图的时候会报错 RuntimeError: Invalid DISPLAY variable 2.原因:matplotlib的默认ba ...

  4. ssh -X前设置DISPLAY=localhost:0

    如果是在windows上用XMing做XServer,前面的localhost不能省,否则会被当作一个unix domain socket,而XMing没有实现这个功能,所以会出错 connect / ...

  5. SSH 常用命令解析

    SSH 是什么 SSH(全 称 Secure Shell)是一种加密的网络协议.使用该协议的数据将被加密,如果在传输中间数据泄漏,也可以确保没有人能读取出有用信息.要使用 SSH,目标机器应该安装 S ...

  6. SSH遇见的问题

    Gtk-WARNING **: cannot open display: 在从bitbucket仓库向linux服务器clone项目的时候出现了一个问题: ): Gtk-WARNING **: can ...

  7. SSH:Struts2.2+Hibernate3.6+Spring3.1分页示例[转]

    参考资料 1 ssh分页(多个例子) http://useryouyou.iteye.com/blog/593954 2 ssh2分页例子 http://459104018-qq-com.iteye. ...

  8. Linux课程实践一:Linux基础实践(SSH)

    一.SSH服务 1. 安装SSH (1)查看是否已经安装过ssh服务 rpm -qa |grep ssh (2)进行安装 sudo apt-get install openssh-server Ubu ...

  9. SSH的端口转发:本地转发Local Forward和远程转发Remote Forward

    关于使用ssh portforwarding来进行FQ的操作,网络上已经有很多很好的文章,我在这里只是画两个图解释一下. 首先要记住一件事情就是: SSH 端口转发自然需要 SSH 连接,而 SSH ...

随机推荐

  1. php---实现保留小数点后两位

    PHP 中的 round() 函数可以实现 round() 函数对浮点数进行四舍五入. round(x,prec) 参数说明x 可选.规定要舍入的数字.prec 可选.规定小数点后的位数. 返回将 x ...

  2. JS:checkFrom对输入框和文本框的判断总结

    天看了老东家的一个专题页面,发现里边的checkFrome.js收集了很多对文本框的判断,非常有用收藏一下.其中包含了:1.页面截取字符串2.文本框最大长度限制3.判断必须是数字和字母的组合4.判断是 ...

  3. Spark Programming--Transformations

    map 将RDD中的每个数据项,一对一的映射关系,RDD数目不变,分区数也不变 例子: 数据集: map操作: flatMap 和map一样,但是会拆分每一个map之后的list,可以理解为一对多(注 ...

  4. 简单计算器--hdu1237(栈的运用)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1237  这是单纯的本题答案: #include<stdio.h> #define N 11 ...

  5. curl get post 数据

    1.get方式传值 function testGet(){ $ch = curl_init (); //初始化一个cURL会话 $url = "127.0.0.1/testPage?test ...

  6. js获取框架(IFrame)的内容

    <frameset id="fr" rows="50%,50%">      <frame name="up" id=&q ...

  7. Android 使用PullToRefresh实现下拉刷新和上拉加载(ExpandableListView)

    PullToRefresh是一套实现非常好的下拉刷新库,它支持: 1.ListView 2.ExpandableListView 3.GridView 4.WebView 等多种常用的需要刷新的Vie ...

  8. ucenter 显示通信成功的条件

    应用的主 URL+/api/uc.php?code= 如果这个页面返回1,则通信成功,也就是说,uc.php是通信成功里重要的一环 事实上,我还没有通信成功,我只是写了一个1在欺骗服务端

  9. Vue.2.0.5-插件

    开发插件 插件通常会为Vue添加全局功能.插件的范围没有限制--一般有下面几种: 添加全局方法或者属性,如: vue-element 添加全局资源:指令/过滤器/过渡等,如 vue-touch 通过全 ...

  10. CL.exe的 /D 选项, Preprocessor Macro预处理器宏定义

    在看"Inside COM"第10章的代码. MAKEFILE里面有几个标记我没看懂. 去网上搜也搜不到. /D_OUTPROC_SERVER_ /DWIN32 /DREGISTE ...