做为网络管理员,我们不可能总是在机房操作服务器,对于windows服务器,我们可以通过远程终端或netmeeting进行操作。但是对于Linux服务器呢?我们也可以使用远程工具进行操作,常用的远程管理服务有telnet,SSH,VNC等,这些远程管理服务虽然都能做远程管理用,但是他们在功能及使用方面还是各有千秋。今天我们就来谈谈使用这些不同的远程管理服务工具管理Linux服务器。
本文中的服务器IP地址为192.168.99.9,服务器使用系统为:CentOS 5。
 
一、Telnet
1. 软件安装:
我们可以使用rpm -qa|grep telnet命令查询系统安装的telnet,如下图:
 
系统默认安装了telnet的客户端,没有安装telnet服务端,telnet服务端是需要xinetd支持的,所以我们需要手动安装这两个程序包,如下图:
 
2. 启动Telnet服务
使用命令vi /etc/xinetd.d/telnet,编辑telnet服务,将disable=yes该为disable=no,激活telnet服务。
 
使用service xinetd start命令,启动telnet服务。
我们可以使用telnet ip命令来测试,比如telnet 192.168.99.199这台机,如下图,可以正常telnet到192.168.99.199.
 
我们再找一台windows的机器来telenet我们的linux服务,如下图,如果我们使用root帐号登录,会提示login incorrect,这是因为telnet默认不允许以root的身份telnet进入linux系统。
 
3. 配置telnet服务
telnet是明文传送口令和数据的,如果直接默认使用,将存在很大的安全风险,所以我们必须对telnet服务做一些限制。使用命令vi /etc/xinetd.d/telnet编辑telnet服务,如下图:
说明:
bind=192.168.99.9    #本机的IP地址
only_from=192.168.99.0/24     #只允许192.168.99.0--192.168.99.255这个网段的地址telnet进来,如果需要也可以设置只允许某台机器telnet进来。
no_access=192.168.99.{11,13}    #不允许192.168.99.11和192.168.99.13这两个IP地址telnet进来。
access_times=8:00-12:00 14:00-16:00    #每天只在这个时间段内开放telnet服务。
 
4. 设置telnet端口
telnet默认使用23端口进行通讯,这个大家都知道,也容易被一些别有用心的人利用,所以我们将需要更改默认端口以增加安全性,比如改为2300。
使用vi /etc/services命令,找到telnet 23/tcp和telnet 23/udp改为telnet 2300/tcp和telnet 2300/upd,如下图:
 
5. 开启root用户登录
虽然telnet默认不允许使用root用户登录,但是我们还是可以开启它,使用命令mv /etc/securetty  /etc/securetty.bak ,重启telnet服务,现在就可以使用root用户登录了。如下图所示,不过,不建议开通root用户的登录权限,这样会增加安全风险。
 
 
 
 
二、OpenSSH
由于telnet采用明文传输,在安全性方面存在较大的隐患,所以现在正在被另一种远程管理服务—SSH服务取代。SSH采用加密的传输,而且在用户认证方式上,可以使用公共密钥加密法,整体安全性得到提高。下面我们就来看看SSH服务的相关内容:
1. 软件安装
系统已经默认安装了OpenSSH,我们可以通过命令rpm -qa|grep openssh来查看openssh的安装情况,如下图所示:
 
2. 使用windows客户端登录服务器
windows xp本身没有自带ssh客户端程序,所以我们需要在windows上安装ssh客户端程序,常用的windows版ssh客户端软件有WinSCP和putty等。WinSCP支持中文语言,而且提供了一个友好的图形操作界面,用户可以很方便操作它,下面我们先来介绍一下WinSCP:
如下图,填入主机名或IP地址就可以登录了:
 
在登录的时候,会如果没有加载密钥wenjian ,会弹出一个下图所示的警告窗口,由于我们现在还没有使用密钥认证,所以可以直接点是进去。
 
WinSCP提供了一个类似windows资源管理器的界面,如下图:用户可以通过它很方便的执行文件操作,比如上传、下载,文件、目录重命名等工作。
 
WinSCP也提供了一个用于执行命令的控制台,如下图,不过,使用起来感觉不是很方便。
 
如果要像在Linux下那样方便的使用命令行来操作,还是使用PuTTY比较方便。如下图,输入计算机名或IP地址,就可以连接SSH服务器了。
 
在连接过程中,也会弹出一个警告对话框,提示密钥问题,我们还是点yes继续。如下图:
 
系统连接上后,会提示要输入用户名和密码,输入正确的用户名和密码后,就可以像在linux中一样使用命令行对它进行操作了。默认情况下,是允许使用root帐户登录的。如下图:
 
3. 配置SSH服务
在默认情况下,我们已经可以使用客户端登录ssh服务器了,不过,直接使用还是有安全隐患,所以我们还需要继续对SSH服务进行配置:
1)使用命令vi /etc/ssh/sshd_config配置SSH服务,修改以下行(用红线框住的行):
Protocol 2         # 默认支持SSH1和SSH2,修改后,只使用SSH2
ServerKeyBits 1024       #将ServerKey强度改为1024比特
 
PermitRootLogin no    # 修改后,不允许使用root进行登录
PasswordAuthentication no    # 修改后,不允许以密码方式登录
PermitEmptyPasswords no    # 修改后,禁止空密码登录
 
2)系统默认是允许所有地址连接SSH服务器的,所以我们还需要对访问地址进行限制:
使用命令vi /etc/hosts.deny,修改屏蔽规则,在末尾加上:sshd:ALL,屏蔽来自所有的SSH连接请求。
 
现在所有电脑都不能连接SSH服务器,所以我们还需要使用命令vi  /etc/hosts.allow修改允许规则,在行尾加入一条:sshd:192.168.99. ,允许来自192.168.99.0/24这个网段的SSH连接请求,当然在这里也可以设置只允许部分IP地址的SSH连接,这个大家可以根据自己的需求进行设置。
 
设置完成后,需要重启SSH服务才能生效。
 
我们再用PuTTY连接一下,无法登录了。因为现在已经不能用密码验证了,需要使用“钥匙”了。
 
4. 公钥和私钥的建立
切换到一个普通用户,基于这个用户建立公钥和私钥。(这里我以admin这个自建的帐户为例),操作过程如下图:
 
公钥和私钥建立好后,还需要做一些处理,如下图:
 
OK,现在已经配置完成。下一步,我们需要将私钥复制到客户端电脑上,私钥文件存放地点:/home/admin/.ssh/id_rsa。
5. 转换来自服务器端的私钥
由于服务器生成的私钥不能被客户端直接使用,我们还需要对私钥进行转换。下面我们就以最常用的PuTTY客户端为例进行说明。
对于PuTTY客户端,我们可以使用PuTTYGen这款工具对私钥进行转换。
运行PuTTYGen,然后点击Load,载入私钥,如下图:
 
开始转换,这时会弹出一个对话框,要求输入在服务器端建立此私钥时的口令,如下图:
 
转换完成后,会弹出一个转换成功的对话框,如下图:
 
点击“Save private key”保存私钥,如下图:私钥转换完成。
 
6. 使用putty登录服务器
打开PuTTY工具,在左面板上点击Auth(认证方式),然后点击右面板上的Browse,加载刚才转换后的私钥,如下图:
 
然后点击左面板的Session,回到主机连接信息对话框,如下图:
 
在“Host Name”项填入主机名或IP地址,然后在“Saved Sessions”项填入此连接的名称(可以是任意名称),然后点击Save,保存主机连接设置,如下图:
 
双击新建立的连接,输入用户名和密码就可以连接了。注意:这里的密码不是用户密码,而是刚才建立私钥时设置的密码。
 
OK,通过“钥匙”方式登录SSH服务器的设置至此完成。
这里还有一点需要注意的:如果要允许某个用户使用SSH连接服务器,就必须基于这个用户建立对应的公钥和私钥。
 
三、VNC
使用SSH可以安全的连接到Linux服务器,但是如果连接中断,那么连接过程中执行的命令也会中止。在使用SSH连接过程中执行一些程序时,中断是很危险的,可能对系统造成一定的影响。所以,我们还需要考虑另外的一种解决方案,以便一些特殊情况下使用。VNC刚好可以满足这个需求,使用VNC连接,在网络中断的情况下,原来执行的命令等不会受到影响,系统会继续执行。而且VNC可以提供一个完整的Linux操作界面,通过它,可以像操作本机一样操作Linux服务器。下面我们就来看看使用VNC连接的情况:
1. 软件安装
我们可以使用命令rpm -qa|grep vnc检查vnc的安装情况,系统已经默认安装了。如果系统没有安装,可以在安装光盘上找到该程序包。使用rpm安装就可以了。
 
2. 启动VNC服务
使用命令vncserver :1就可以启动VNC服务了,其中,“数字”1表示桌面号。第一次执行时,会需要输入连接密码,该密码保存在/root/.vnc/passwd中;同时在用户主目录下的.vnc子目录中为用户自动建立xstartup配置文件,在每次启动VNC服务时,都会读取该文件中的配置信息。
 
我们通过windows的VNC Viewer输入“192.168.99.9:1”,然后点击OK,输入密码就可以通过VNC连接服务器了。
 
 
如下图,已经连接到了Linux服务器,不过由于使用的是x-windows的桌面环境,所以界面看起来不美观。另外,除了使用VNC Viewer进行登录,我们还可以使用浏览器进行连接,不过,需要先安装Java支持环境和VNC viewer for Java)
 
3. 配置VNC桌面环境为KDEGNOME桌面环境
VNC服务默认使用twm图形桌面环境,刚才我们已经看到了,不美观。还好,我们可以修改它,使用命令:vi  /root/.vnc/xstartup,
 
将最后一行的twm改为startkde则修改为KDE桌面环境,修改为gnome-session则为GNOME桌面环境。比如,我们将它改为KDE桌面环境,如下图:
 
重启VNC服务,如下图:
 
我们再用VNC Viewer连接,现在出现的就是KDE桌面环境了,如下图:
 
4. 配置多个桌面环境
使用命令/etc/sysconfig/vncservers修改配置文件(修改部分见红色框内),如下图:
这里我们将桌面1设置为root用户的桌面,桌面2设置为admin用户的桌面。
 
注意:设置好后,需要以对应用户的身份登录,手动执行一次vncserver :<number>命令,以初始化$HOME/.vnc/xstartup和$HOME/.vnc/passwd文件。
 
 
以后启动的话,可以使用/etc/init.d/vncserver start命令,现在可以使用VNC Viewer登录了:
 
5. 修改VNC访问密码:
我们可以通过命令vncpasswd修改用户的连接密码,注意,如果有多个不同的用户,需要在不同用户的用户环境下修改其连接密码。
 
 
OK,三种不同的远程管理服务都已经介绍完了,大家在日常工作中可以根据自己的需要对服务器进行相应的配置,以便更好的进行远程管理。

本文出自 “Tonyguo De博客【知识..” 博客,请务必保留此出处http://tonyguo.blog.51cto.com/379574/179084

Linux服务器部署系列之六—远程管理篇的更多相关文章

  1. Linux服务器部署系列之八—Sendmail篇

    Sendmail是目前Linux系统下面用得最广的邮件系统之一,虽然它存在一些不足,不过,目前还是有不少公司在使用它.对它的学习,也能让我们更深的了解邮件系统的运作.下面我们就来看看sendmail邮 ...

  2. Linux服务器部署系列之七—OpenLDAP篇

    LDAP(轻量级目录访问服务),通过配置这个服务,我们也可以在linux下面使用目录的形式管理用户,就像windows下面的AD一样,方便我们管理.下面我们就一起来配置openldap服务.本文运行环 ...

  3. Linux服务器部署系列之一—Apache篇(下)

    接上篇 linux服务器部署系列之一—Apache篇(上)    四.管理日志文件 Apache日志分为访问日志和错误日志两种: 1)访问日志 用于记录客户端的访问信息,文件名默认为access_lo ...

  4. Linux服务器部署系列之二—MySQL篇

    MySQL是linux环境中使用最广泛的数据库之一,著名的“LAMP黄金组合”就要用到MySQL.关于MySQL的优点及作用,我就不多讲了,网上很多这样的文章. 今天我们要谈的是MySQL服务器的部署 ...

  5. Linux服务器部署系列之五—Webmin篇

    对于很多习惯使用windows的用户,在刚接触Linux的时候,要使用命令行配置Linux服务器可能会感觉难以适应.今天我们来讲解一下,Linux下的图形配置工具—Webmin,通过这款工具,用户可以 ...

  6. Linux服务器部署系列之一—Apache篇(上)

    Linux系统的应用越来越广泛了,学习linux系统的网管兄弟也有增加的趋势.很久以前就有些想法,要将自己学的linux知识整理一下.最近,终于下定决心,挤出时间开始动手写些东西了.虽然不一定好,不过 ...

  7. 转 整理 Linux服务器部署系列之一—Apache篇

    花了差不多一天,参考了几个博客,终于初步配成功了 Apache,先总结一下: 如果apache安装成为linux的服务的话,可以用以下命令操作: service httpd start 启动 serv ...

  8. Linux服务器部署系列之四—DHCP篇

    DHCP服务器的配置是Linux服务器配置中最简单的服务之一,网上也有很多相关文档,不过大部分都只是讲解了配置.虽然我这篇文档也不一定很完善,不过我还是希望能够尽量说得明白一些,同时也希望大家能够提供 ...

  9. Linux服务器部署系列之三—DNS篇

    网上介绍DNS的知识很多,在这里我就不再讲述DNS原理及做名词解释了.本篇我们将以一个实例为例来讲述DNS的配置,实验环境如下: 域名:guoxuemin.cn, 子域:shenzhen.guoxue ...

随机推荐

  1. Spring MVC 运行流程图

  2. ABAP-TXT文件上传

    at selection-screen on value-request for pc_file.   call function 'WS_FILENAME_GET'     exporting    ...

  3. mysqldump之不老将

    –add-drop-database 每个数据库创建之前添加drop数据库语句.mysqldump -uroot -p –all-databases –add-drop-database –add-d ...

  4. Access-Control-Allow-Origin与跨域

    文章转载地址: http://freewind.me/blog/20140327/2456.html 问题 在某域名下使用Ajax向另一个域名下的页面请求数据,会遇到跨域问题.另一个域名必须在resp ...

  5. css中选择器

    css中常用的选择器有: 1.元素选择器:h1{}  如<h1></h1> 2.类选择器:.test{}或者h1.test{} 如<h1 class="test ...

  6. groovy 环境配置

    win7: 下载 http://www.groovy-lang.org/download.html 将解压后的文件夹里的bin目录加入path环境变量

  7. invalid self-signed ssl certificate

    down voteaccepted Cheap and insecure answer: Add process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0& ...

  8. Python staticmethod() 函数

    Python staticmethod() 函数  Python 内置函数 python staticmethod 返回函数的静态方法. 该方法不强制要求传递参数,如下声明一个静态方法: class ...

  9. np.random.randn()、np.random.rand()、np.random.randint()

    (1)np.random.randn()函数 语法: np.random.randn(d0,d1,d2……dn) 1)当函数括号内没有参数时,则返回一个浮点数: 2)当函数括号内有一个参数时,则返回秩 ...

  10. hover

    hover - Bing dictionary US[ˈhɒvə(r)] v.盘旋:徘徊:犹豫:巡弋 网络翱翔:悬停:盘旋于