在Windows下用ssh连接服务器的话putty是一个小巧而且实用的工具,如果想要图形界面,可以使用X工具配合putty。
或者直接使用xmanager enterprise,非 常方便。
ssh需要进行认证的配置,如rsa的密钥对的产生和分发,
ssh-keygen -t rsa,将key.pub放在服务器一侧,id_rsa等私钥,放在自己的ssh目录下。
如果在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.