Windows下通过Xmanager远程桌面控制Linux
要在远程对Linux服务器桌面进行控制,一般都要用到Xmanager,但是要使用这个东东是要经过一定的配置才可以的,下面针对RedHat AS4|AS5两个不同的环境,对系统的配置来说明一下使用远程桌面控制的过程:
一、系统配置
1、修改/etc/X11/xdm/Xaccess文件
找到其中的
# * #any host can get a login window
这句代码中,去掉前面的#使其生效。
该文件是X窗口的配置文件,目的是允许所有用户登录
注:AS5中的对应文件是/usr/share/config/kdm/Xaccess,且经验证并不一定需要修改
2、修改etc/X11/gdm/gdm.conf文件
找到
# XDMCP is the protocol that allows remote login. If you want to log into
# gdm remotely (I'd never turn this on on open network, use ssh for such
# remote usage that). You can then run X with -query <thishost> to log in,
# or -indirect <thishost> to run a chooser. Look for the 'Terminal' server
# type at the bottom of this config file.
[xdmcp]
# Distributions: Ship with this off. It is never a safe thing to leave
# out on the net. Setting up /etc/hosts.allow and /etc/hosts.deny to only
# allow local access is another alternative but not the safest.
# Firewalling port 177 is the safest if you wish to have xdmcp on.# Read the manual for more notes on the security of XDMCP.
Enable=false
这一段,将其中的false修改为true或1
xdmcp的功能上面的这段话中已经讲的很清楚了,基本上就是Linux的图形界面的一个监听端口,端口号为177
所以同时在该文件中,需要确保177端口打开,即如下代码:
# The port. 177 is the standard port so better keep it that way
#Port=177
去掉前面的#使该句生效
注:AS5中对应文件是/usr/share/gdm/defaults.conf,这个必须要修改。
以上内容修改于:20090814
3、修改/etc/inittab文件
找到以下代码段:
# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:
若低于5时,需要设置该级别为5
再找到以下代码段:
# Run xdm in runlevel 5
x:5:respawn:/etc/X11/prefdm -nodaemon
h1:35:respawn:/etc/init.d/init.cssd run >/dev/null 2>&1 </dev/null
将中间那句修改为:
x:5:respawn:/usr/bin/gdm
注:这个文件在AS4和AS5中都是一样的,但是后面的部分不知道是什么意思,可以不改。
4、修改/etc/X11/xdm/xdm-config文件
找到最后一行,在前面加上一个!
! SECURITY: do not listen for XDMCP or Chooser requests
! Comment out this line if you want to manage X terminals with xdm
!DisplayManager.requestPort: 0
注:不知道什么意思,也没有找到在AS5里对应的文件……
5、在/etc/hosts文件中添加机器名解析
如果是域中的机器,为了方便起见,可以在/etc/hosts文件中加入IP和机器名,以便直接登录
10.11.6.220 XXXXXX
10.11.6.91 YYYYYY
二、Xmanager的使用
1、打开Xmanager文件夹中的Xbrowser,选择New新建
2、选择XDMCP类型,然后Next
3、Method不管,Host填目标服务器IP,Port是177,Next
4、一路Next,最后勾选 Execute the session when this new session wizard,然后Finish
OVER...
最后还有一个问题:
以上设置的机器是不能用ROOT用户进行登陆的,如果需要以ROOT用户登陆,则设置比较麻烦,详见:
----------------------------------------------------------------------------------------------
一、 XMANAGER 连接到REDHAT AS 5 需要修改的地方。
rhel5与rhel4不同的地方是,rhel5裡没有/etc/X11/gdm/这个目录,rhel5的gdm的配置文件放在这裡/usr/share/gdm/defaults.comf,这一点可能是困扰大家的地方。
在/usr/share/gdm/defaults.conf裡确保有以下几句配置:
Enable=true
DisplaysPerHost=10
Port=177
在/etc/inittab裡把默认级别改為5:
id:5:initdefault:
再在这个文件裡加一句:
x:5:respawn:/etc/X11/prefdm -nodaemon
然后重啟系统。然后在windows系统上运行xmanager2裡的Xbrowser程序,在裡面新建一个Xmanager Session,在Host这裡输入ip地址,其它配置都不要改变(包括端口号),确定退出。然后双击这个New Xmanager Session,看到登录界面:
二、 如果允许Root用户连接到XMANAGER 需要修改以下内容:
# vi defaults.conf
[security]
# Allow root to login. It makes sense to turn this off for kiosk use, when
# you want to minimize the possibility of break in.
AllowRoot=true
# Allow login as root via XDMCP. This value will be overridden and set to
# false if the /etc/default/login file exists and contains
# "CONSOLE=/dev/login", and set to true if the /etc/default/login file exists
# and contains any other value or no value for CONSOLE.
AllowRemoteRoot=true
# This will allow remote timed login.
AllowRemoteAutoLogin=false
# 0 is the most restrictive, 1 allo
#vi /etc/securetty
......
tty2
tty3
tty4
tty5
tty6
tty7
tty8
tty9
tty10
tty11
pts/0
pts/1
pts/2
pts/3
pts/4
添加这一些。
# vi /etc/pam.d/login
#%PAM-1.0
#auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth include system-auth
account required pam_nologin.so
account include system-auth
password include system-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session include system-auth
session required pam_loginuid.so
session optional pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open
session optional pam_keyinit.so force revoke
~
#vi /etc/pam.d/remote
#%PAM-1.0
#auth required pam_securetty.so
auth include system-auth
account required pam_nologin.so
account include system-auth
password include system-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session include system-auth
session required pam_loginuid.so
session optional pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open
session optional pam_keyinit.so force revoke
~
~
#vi /etc/xinetd.d/telnet
# default: on
# description: The telnet server serves telnet sessions; it uses
# unencrypted username/password pairs for authentication.
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
}
~