zoukankan      html  css  js  c++  java
  • Linux服务器部署系列之六—远程管理篇

    做为网络管理员,我们不可能总是在机房操作服务器,对于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

  • 相关阅读:
    Shell重新学习(忘光了)
    vim 设置默认显示行号
    maven学习资料(三)
    maven:新建的maven工程需要添加一下插件
    Spring框架:第五章:Spring EL表达式
    Spring框架:第四章:Spring管理数据库连接池
    Spring框架:第三章:对象的生命周期及单例bean生命周期的11个步骤
    Spring框架:第二章:IOC依赖注入及40个实验
    Spring框架:第一章:介绍和准备工作
    MyBatis框架:第十一章:mybatis 逆向工程
  • 原文地址:https://www.cnblogs.com/lanliying/p/4152661.html
Copyright © 2011-2022 走看看