项目三:配置与应用远程连接服务器

【项目说明】

     作为一个运维人员,经常要登录Linux服务器查看其是否正常运行,但是,服务器通常不在本地(可能位于分公司或ISP的托管机房)或者分散在不同的地理位置上,因此常常要借助远程控制的方式对这些远程服务器进行管理。在CentOS Linux系统中,一般采用Telnet、SSH以及VNC服务实现远程控制,本项目的主要目的是实现这些远程服务的配置和使用。

     

           任务一:配置Telnet服务

【任务说明】

      Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成与远程主机工作的能力。Telnet可以让我们坐在自己的计算机前通过Internet登录到另一台远程计算机上,这台计算机可以是在隔壁的房间里,也可以是在地球的另一端,当登录上远程计算机后,本地计算机就等同于远程计算机的一个终端,我们可以用自己的计算机直接操纵远程计算机,享受远程计算机本地终端同样的操纵权限。

【任务实施】

第一步:挂载光盘

              将光盘放入光驱,然后使用【mount /dev/cdrom /mnt】命令挂载光盘到系统中。

第二步:配置YUM源

              

一、常用yum源

yum源可以来源于多种文件服务器:

  • http://
  • https://
  • ftp://
  • file:// 本地文件

yum源国内镜像站点:

注意:有repodata的目录的子目录为yum源的路径


二、yum源配置

yum的配置文件
cachedir=/var/cache/yum/$basearch/$releasever #yum下载后的缓存目录
keepcache=0    #是否缓存,0为不缓存,1为缓存
debuglevel=2
logfile=/var/log/yum.log  #yum的安装日志
exactarch=1
obsoletes=1
gpgcheck=1  #默认是否进行gpg校验,0为不校验,1校验
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
配置实战

在yum配置文件中的最后一行,有以下说明,意思是:让你的repo放在/etc/yum.repo.d目录中,并且以.repo结尾

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
  • 1
  • 2

1.先切换到yum源中的配置目录cd /etc/yum.conf.d/
2.因为默认的yum源是CentOS-Base.repo,可以在此文件中修改,也可以将他修改后缀名,这里就修改后缀名吧

mv /etc/yum.conf.d/CentOS-Base.repo /etc/yum.conf.d/CentOS-Base.repo.bak
  • 1

3.新建一个repo文件,命名为CentOS7.repo,如下配置:

[CentOS7-base]   #源名称,必填
name=CentOS-$releasever-base  #源描述,可以不填,但是会有提示
baseurl=file:///misc/cd/      #本地的光盘文件,可以有多个地址。必填
        https://mirrors.aliyun.com/centos/7.3.1611/os/x86_64/
gpgcheck=1                    #是否开启校验,在yum.conf中已经定义它默认值为1
enabled=1                     #是否禁用此yum源,默认为
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#如果开启yum源包校验,则需要导入RPM公钥,此处只是在系统没有导入rpm公钥时候进行安装
#这里相当于rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[aliyun_epel]   #这是Redhat的扩展包
name=ailiyun_yum_epel
baseurl=https://mirrors.aliyun.com/epel/$releasever/x86_64
gpgkey=https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-7
gpgcheck=1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

所以,在配置yum源时候,最少只需要两行即可,[reponame]和baseurl:


三、yum命令

yum命令选项
  • --nogpgcheck:禁止进行gpgcheck
  • -y: 自动回答为“yes”
  • -q:静默模式
  • --disablerepo=repoidglob:临时禁用此处指定的repo
  • --enablerepo=repoidglob:临时启用此处指定的repo
  • --noplugins:禁用所有插件
    yum源列表
  • yum repolist [all|enabled|disabled]:显示仓库列表
  • yum grouplist:显示包组
  • yum list {available|installed|updates} :显示包列表
    • yum list vsftpd* 显示和vsftpd匹配的包
yum安装卸载
  • yum install package
  • yum restall package:重做
  • yum update package:更新包
  • yum check-update
  • yum remove package1 [package2]

包组的安装基本和包的安装类似,只是在install,restall等操作前加上group即可。比如:yum -y groupinstall "Development Tools",如果有空格,要使用双引号包括。

如果在安装系统时候,没有安装桌面,则可以使用此命令安装:yum -y groupinstall "GNOME Desktop"即可安装图形界面

yum查询
  • yum info 查看程序包信息
  • yum provides feature1
  • yum search xxx :搜索带有某个关键字的安装包
yum 缓存
  • yum makecache :构建缓存
  • yum clean all:清除所有缓存
yum 历史

yum history:显示yum操作历史,是按照/var/log/yum.log进行的查找
yum history info 6查看第六条信息
yum history undo 6:撤销第六步,如果第六步是安装,则执行此命令,将删除第六步所安装的程序,。如果第六步是卸载,那么执行此命令,则进行安装卸载掉的程序
yum history redo 6:重做第六步



第三步:安装客户端以及服务端软件
   Linux软件的二进制分发是指事先已经编译好二进制形式的软件包的发布形式,其优点是安装使用容易,缺点则是缺乏灵活性,如果该软件包是为特定的硬件平台编译的,那它就不能在另外的平台或环境下正确执行。
  1、*.rpm形式的二进制软件包
  安装:rpm -ivh *.rpm
  卸载:rpm -e packgename
  说明:RPM(RedHat Packge
  Manager)是RedHat公司出的软件包管理器,使用它可以很容易地对rpm形式的软件包进行安装、升级、卸载、验证、查询等操作,安装简单,而卸
  载时也可以将软件安装在多处目录中的文件删除干净,因此推荐初学者尽可能使用rpm形式的软件包。rpm的参数中-i是安装,-v是校验,-h是用散列符
  显示安装进度,*.rpm是软件包的文件名(这里的*.rpm特指*.src.rpm以外的以rpm为后缀的文件);参数-e是删除软件
  包,packgename是软件包名,与软件包的文件名有所区别,它往往是文件名中位于版本号前面的字符串,例如apache-3.1.12-
  i386.rpm和apache-devel-3.1.12-i386.rpm是软件包文件名,它们的软件包名称分别是apache和apache-
  devel.更多的rpm参数请自行参看手册页:man rpm.
  如果你不喜欢在字符界面下安装或卸载这些软件包,完全可以在X-Window下使用图形界面的软件包管理程序。现在这些做的非常好了。
  2、*.tar.gz/*.tgz、*.bz2形式的二进制软件包
  安装:tar zxvf *.tar.gz 或 tar yxvf *.bz2
  卸载:手动删除
  说明:*.tar.gz/*.bz2形式的二进制软件包是用tar工具来打包、用gzip/bzip2压缩的,安装时直接解包即可。对于解压后
  只有单一目录的软件,卸载时用命令"rm -rf
  软件目录名";如果解压后文件分散在多处目录中,则必须一一手动删除(稍麻烦),想知道解压时向系统中安装了哪些文件,可以用命令"tar ztvf
  *.tar.gz"/"tar ytvf
  *.bz2"获取清单。tar的参数z是调用gzip解压,x是解包,v是校验,f是显示结果,y是调用bzip2解压,t是列出包的文件清单。更多的参
  数请参看手册页:man tar.
  如果你更喜欢图形界面的操作,可以到Ubuntu上看看他的包管理,超级方便。
  3、提供安装程序的软件包
  这类软件包已经提供了安装脚本或二进制的安装向导程序(setup、install、install.sh等),只需运行它就可以完成软件的安
  装;而卸载时也相应地提供了反安装的脚本或程序。例如SUN公司的StarOffice办公软件套件就使用名为setup的安装程序,而且在软件安装后提
  供反安装的功能,目前这种类型的软件包还比较少,因其安装与卸载的方式与Windows软件一样,所以就无需多讲了。
  二、源代码分发软件包的安装与卸载
  Linux软件的源代码分发是指提供了该软件所有程序源代码的发布形式,需要用户自己编译成可执行的二进制代码并进行安装,其优点是配置灵活,可以随意去掉或保留某些功能/模块,适应多种硬件/操作系统平台及编译环境,缺点是难度较大,一般不适合初学者使用。
  1、*.src.rpm形式的源代码软件包
  安装:rpm -rebuild *.src.rpm
  cd /usr/src/dist/RPMS
  rpm -ivh *.rpm
  卸载:rpm -e packgename
  说明:rpm --rebuild *.src.rpm命令将源代码编译并在/usr/src/dist/RPMS下生成二进制的rpm包,然后再安装该二进制包即可。packgename如前所述。
  2、*.tar.gz/*.tgz、*.bz2形式的源代码软件包
  安装:tar zxvf *.tar.gz 或 tar yxvf *.bz2 先解压
  然后进入解压后的目录:
  ./configure 配置
  make 编译
  make install 安装
  卸载:make uninstall 或 手动删除
  说明:建议解压后先阅读说明文件,可以了解安装有哪些需求,有必要时还需改动编译配置。有些软件包的源代码在编译安装后可以用make
  install命令来进行卸载,如果不提供此功能,则软件的卸载必须手动删除。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净,
  那你应该在编译前进行配置,指定软件将要安装到目标路径:./configure --prefix=目录名,这样可以使用"rm -rf
  软件目录名"命令来进行干净彻底的卸载。与其它安装方式相比,需要用户自己编译安装是最麻烦的,其实我个人认为,以后会越来越少人用这种方法。因为现在的
  硬件发展到没有必要多这少量的性能,来浪费这么多时间。
  三。使用yum和apt-get.软件管理方法的升级。
  看过上面的介绍。大家一定会感觉,太麻烦了,下面这个是先进的linux才有的功能,这个实在太方便了,比windows还人方便,要是你用过Ubuntu的apt-get你会感觉爽极了的。那个方便。
  1. 我们来先讲Redhat的yum这种高级的包管理。
  用YUM安装删除软件
  装了系统添加删除软件是常事,yum同样可以胜任这一任务,只要软件是rpm安装的。
  安装的命令是,yum install xxx,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,那么最好,下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包,你可以自己作出判断。
  删除的命令是,yum remove xxx,同安装一样,yum也会查询数据库,给出解决依赖关系的提示。
  用YUM安装软件包
  命令:yum install
  用YUM删除软件包
  命令:yum remove
  2.用YUM查询软件信息
  我
  们常会碰到这样的情况,想要安装一个软件,只知道它和某方面有关,但又不能确切知道它的名字。这时yum的查询功能就起作用了。你可以用 yum
  search keyword这样的命令来进行搜索,比如我们要则安装一个Instant Messenger,但又不知到底有哪些,这时不妨用
  yum search
  messenger这样的指令进行搜索,yum会搜索所有可用rpm的描述,列出所有描述中和messeger有关的rpm包,于是我们可能得到
  gaim,kopete等等,并从中选择。
  有时我们还会碰到安装了一个包,但又不知道其用途,我们可以用yum info packagename这个指令来获取信息。
  使用YUM查找软件包
  命令:yum search
  列出所有可安装的软件包
  命令:yum list
  列出所有可更新的软件包
  命令:yum list updates
  列出所有已安装的软件包
  命令:yum list installed
  列出所有已安装但不在 Yum Repository 内的软件包
  命令:yum list extras
  列出所指定的软件包
  命令:yum list
  2.讲讲Ubuntu中的高级包管理方法apt-get
  除了apt的便捷以外,apt-get的一大好处是极大地减小了所谓依赖关系恶梦的发生
  几率(dependency hell),即使是陷入了dependency hell,apt-get也提供了很好的
  援助手段,帮你逃出魔窟。
  通常 apt-get 都和网上的压缩包一起出没,从互联网上下载或是安装。全世界有超
  过200个 debian 官方镜像,还有繁多的非官方软件包提供网站。你所使用的基于D
  ebian的发布版不同,你所使用的软件仓库可能需要手工选择或是可以自动设置。你
  能从Debian官方网站得到完整的镜像列表。而很多非官方网站提供各种特殊用途的
  非官方软件包,当然,使用非官方软件包会有更多风险了。
  软件包都是为某一个基本的Debian发布版所准备的(从unstable到stable),并且划
  分到不同类别中(如 main contrib nonfree),这个是依据 debian 自由软件纲领而
  划分的(也就是常说的dfsg),因为美国限制加密软件出口,还有一个non-us类别。
  常用的APT命令参数
  apt-cache search package 搜索包
  apt-cache show package 获取包的相关信息,如说明、大小、版本等
  sudo apt-get install package 安装包
  sudo apt-get install package - - reinstall 重新安装包
  sudo apt-get -f install 修复安装"-f = --fix-missing"
  sudo apt-get remove package 删除包
  sudo apt-get remove package - - purge 删除包,包括删除配置文件等
  sudo apt-get update 更新源
  sudo apt-get upgrade 更新已安装的包
  sudo apt-get dist-upgrade 升级系统
  sudo apt-get dselect-upgrade 使用 dselect 升级
  apt-cache depends package 了解使用依赖
  apt-cache rdepends package 是查看该包被哪些包依赖
  sudo apt-get build-dep package 安装相关的编译环境
  apt-get source package 下载该包的源代码
  sudo apt-get clean && sudo apt-get autoclean 清理无用的包
  sudo apt-get check 检查是否有损坏的依赖

第四步:修改主配置文件
使用【vim /etc/xinetd.d/telnet】命令编辑Telnet配置文件,找到disable=yes所在行,将其改为disable=no,打开Telnet功能。
(1)设置最大链接数;
(2)在服务器上启用Telnet服务
【/etc/init.d/xinetd restart】或【service xinetd restart】重启Telnet服务。
【chkconfig xinetd on】设置Tlenet服务在系统中运行。

(3)修改连接端口

【vim /etc/services】修改服务器提供服务的默认窗口号,把talnet 23/tcp和talnet 23/udp中端口号改为自定义的端口号。
在服务器上使用【/etc/init.d/xinetd restart】命令重启Telnet服务 。

第五步:允许root用户登录

        因为Telnet在传输数据时,采用明文的方式,包括用户名和密码,所以数据在传输的过程中很容易被截取和串改,因此系统默认root用户不可以Telnet到远程的服务器上,而只允许普通用户Telnet到远程的服务器上。如果需要root用户也能远程Telnet到服务器上,则需要使用【mv /etc/securetty /etc/securetty.bak】命令注释掉/etc/securetty这个文件,使之失效。然后在以root用户远程Telnet到主机。

第六步:从第三端用户登录

        (1)使用PuTTY远程登录

      (2)使用SecureCRT远程登录


           任务二    配置SSH服务


第一步:检查SSH软件的安装

             通过以下命令检查SSH软件的安装情况。一般情况下,系统已经默认安装了此服务。

             【rpm -q openssh】查看SSH服务客户端的安装。

              【rpm -q openssh-server】查看SSH服务服务端的安装。

如果没有查询到相关的openssh软件,请挂载光盘,配置好YUM源后可以通过如下命令安装。

        【yum install -y openssh】安装openssh客户端。

         【yum install -y openssh-server】安装openssh服务器端。

第二步:解读SSH配置主文件

       SSH的主配置文件是/etc/ssh/sshd-config,可使用vim编译器打开。


此配置文件可以不做任何修改,直接启动服务即可。

【service sshd start】启动sshd服务进程。

【xhkconfig sshd on】配置服务器开机后自动起哄sshd服务。

第三步:使用第三方软件登录

           (1)使用PuTTY登录

                填写好登录服务器的主机名后IP地址,使用默认的端口号,选择SSH服务即可登录。单击【open】按钮后会提示输入服务器的用户名以及密码。

               (2)使用SecureCRT登录

       单击【链接】按钮后,输入用户名以及密码即可登录服务器。

第四步:使用【scp】命令传输文件

当我们远程到服务上以后,经常会需要在两台主机上传输文件,通过以下方式可以实现文件的传输。

(1)在Linux Server上启动SSH服务。

(2)在客户机上使用【scp LINUXSERVER IP:/目录/文件/本地目录】命令表示把服务器上某一文件复制到本地目录;【scp -r LINUXSERVER IP:/目录/本地目录】命令表示把服务器上某一目录中所有文件与目录复制到本地目录中;【scp -r 192.168.223.189:/mnt/yhy】命令表示复制主机192.168.223.189上mnt目录下的所有文件到本地的/yhy目录下。

第五步:使用【sz】与【rz】命令实现远程主机与本地文件的传输

  【sz】将选定的文件命令发送到本地机器。

   【rz】运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务器。

但是这两个命令只适合中小文件。


      任务三 配置VNC图形界面服务


第一步:安装Gnome图形化桌面

     要能远程访问图形化界面,首先服务器自身要安装图形化套件,在此我们还要安装中文支持套件。【yum groupinstall “X Window System" "Desktop"】CentOS 6. x安装Gnome桌面环境。

【yum groupinstall Xfce】CentOS安装Xfce桌面环境,可选。

【yum groupinstall -y ”Chanese Support“】安装中文支持。

第二步:安装vncserver软件

【yum install -y tigervnc-server tigervnc】安装vncserver软件。

第三步:配置VNC密码

 vncserver运行后,没有配置密码,客户端是无法连接的,通过如下命令设置与修改密码。

【vncserver】设置VNC密码,密码必须六位以上。

【vncpasswd】修改VNC密码,同样,密码需要六位以上。

第四步:配置为使用Gnome桌面

【vim /root/.vnc/xstartup】打开gnome桌面的主配置文件,修改该文件,把最后的【twn &】删除掉,再加上【gnmoe-session &】

第五步:配置vncserver启动后监听端口和环境参数

      【vim /etc/sysconfig/vncservers】修改配置文件,在最后面加入如下两行内容:

VNCSERVERS="1:root”

VNCSERVERARGS[1]="- geometry 1024x768“- alwaysshared - depth 24”

第六步:设置vncserver服务在系统中运行

【service vncserver restart】重启vncserver服务

【chkconfig vncserver on】设置vncserver开机自动启动。

第七步:测试登录

在网络中输入【VNC  Viewer】关键字搜索并下载VNC Viewer,安装后打开,输入服务器的IP地址,然后单击【确定】按钮,弹出一个要求输入root密码的提示框。输入root账号的密码,单击【确定】按钮,,即可登录成功。

第八步:排错

(1)检查SELinux服务并关闭。使用【vim /etc/selinux/config】命令编译/etc/selinux/config文件,设置Selinux字段的值为【disabled】。

(2)关闭NetworkManeger服务。使用【chkconfig --del NetworkManeger】命令关闭NetworkManeger 服务。

(3)iptables防火墙默认会阻止VNC远程桌面,所以需要在iptables允许通过,当启动VNC服务后,可以使用【netstat -tunlp】命令来查看VNC服务所使用的端口,可以发现有5801.5901.6001等。

重启防火墙或直接关闭防火墙的命令如下。

【/etc/init.d/iptables restart】重启防火墙。

【/etc/init.d/iptables stop】关闭防火墙。

第九步:VNC反向连接设置

在大多数情况下,vncserver总处于监听状态,vnc client主动向服务器发出请求从而建立连接。然而在一些特殊的场合,需要让VNC客户机处于监听状态,vncserver主动向客户机发出连接请求,此谓VNC的反向连接。

第十步:解决可能遇到的黑屏问题

原因: 用户的VNC 启动文件权限未设置正确。

解决方法:将黑屏用户的xstartup文件的属性修改为775(-rwxr-xr-x),然后杀掉所有已启动的VNC客户端。






猜你喜欢

转载自blog.csdn.net/qq_41811508/article/details/79849118