




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
互联网技术项目远程连接与管理第1页/共86页项目3远程连接与管理项目分解:基本任务:(1)配置Telnet;(2)配置OpenSSH;(3)采用VNC方式进行图像化远程连接;(4)基于XDMCP方式进行图像化远程连接。拓展任务:(1)Telnet服务器提高配置;(2)OpenSSH服务器提高配置;(3)在Window下通过Putty和X-Win32远程使用Linux图形程序第2页/共86页任务1配置TelnetTelnet服务器是一种提供文本界面远程登录服务器。1、安装Telnet服务器telnetd是远程服务连接Telnet服务器软件包,xinetd是一种“超级服务器”管理包,负责管理Telnet等其他Internet服务。student@ubuntu:~$sudoapt-getinstallxinetdtelnetd正在读取软件包列表...完成正在分析软件包的依赖关系树Readingstateinformation...完成下列【新】软件包将被安装:
telnetdxinetd共升级了0个软件包,新安装了2个软件包,要卸载0个软件包,有0个软件未被升级。需要下载0B/177kB的软件包。解压缩后会消耗掉516kB的额外空间。┆第3页/共86页2、配置Xinetd由于Telnet服务是通过Xinetd来进行管理,配置Telnet就是配置Xinetd。1)修改/etc/inetd.conf文件通常,Xinetd安装完成后默认会使用旧格式的配置文件/etc/inetd.conf,如下:使用“#”注释文件中的记录。student@ubuntu:~$cat/etc/inetd.conf┆#<service_name><sock_type><proto><flags><user><server_path><args>┆telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd┆第4页/共86页2)修改/etc/xinetd.d/telnet文件Xinetd的主要配置文件是/etc/xinetd.conf中,另一方面,Xinetd可以管理多个服务,通常Xinetd将每一个服务具体的配置放到/etc/xinetd.d目录下,针对Telnet服务的配置文件如下:如果没有/etc/xinetd.d/telnet文件,新建一个。student@ubuntu:~$cat/etc/xinetd.d/telnet#default:on#deion:Thetelnetserverservestelnetsessions;ituses\#unencryptedusername/passwordpairsforauthentication.servicetelnet{disable=noflags=REUSEsocket_type=streamwait=nouser=rootserver=/usr/sbin/in.telnetdlog_on_failure+=USERID}第5页/共86页3、重启网络服务4、查看服务是否启动出现如上记录,表示Telnet服务启动成功。student@ubuntu:~$sudo/etc/init.d/xinetdrestartstudent@ubuntu:~$sudonetstat-tulpActiveInternetconnections(onlyservers)ProtoRecv-QSend-QLocalAddressForeignAddressStatePID/Programnametcp00*:telnet*:*LISTEN4564/xinted┆第6页/共86页客户端测试Linux测试在Linux客户端终端输入telnet+主机地址后,按要求输入用户名(这里以服务器端帐号student为例)、密码登录远程主机。student@ubuntu:~$sudotelnetTrying...Connectedto.Escapecharacteris'^]'.Ubuntu7.10ubuntulogin:student//服务器端帐号studentPassword:Lastlogin:MonMar3115:31:21CST2008fromonpts/1Linuxubuntu2.6.22-14-generic#1SMPSunOct1423:05:12GMT2007i686TheprogramsincludedwiththeUbuntusystemarefreesoftware;theexactdistributiontermsforeachprogramaredescribedintheindividualfilesin/usr/share/doc/*/copyright.UbuntucomeswithABSOLUTELYNOWARRANTY,totheextentpermittedbyapplicablelaw.第7页/共86页退出Telnet远程服务器。在Linux客户端的终端输入exit。student@ubuntu:~$exitlogoutConnectionclosedbyforeignhost.student@ubuntu:~$第8页/共86页Windows测试使用客户端程序,如Putty。在HostName输入主机地址,在Protocol选择协议Telnet即可,如图左所示。在左图所示界面中,点击打开,进入登录界面,输入用户名、密码登录远程主机,右图所示界面是以student帐户正常登录远程主机的显示界面。第9页/共86页任务2配置OpenSSHSSH服务和Telnet服务一样,通过远程连接登录到系统,在远程控制系统。但它与Telnet的不同点就是:Telnet在传输的过程中是明文传输,而SSH是将传输内容加密,在传送的过程中保证了传送内容的保密性,从而提高了系统的安全性。第10页/共86页1、安装OpenSSH服务器OpenSSH是一种可以自由获得的安全SSH协议族工具,在UbuntuLinux系统上安装过程如下。student@ubuntu:~$sudoapt-getinstallopenssh-serveropenssh-client[sudo]passwordforstudent:正在读取软件包列表...完成正在分析软件包的依赖关系树Readingstateinformation...完成openssh-client已经是最新的版本了。建议安装的软件包:
rsshmolly-guard下列【新】软件包将被安装:
openssh-server共升级了0个软件包,新安装了1个软件包,要卸载0个软件包,有0个软件未被升级。需要下载0B/248kB的软件包。解压缩后会消耗掉655kB的额外空间。正在预设定软件包...选中了曾被取消选择的软件包openssh-server。(正在读取数据库...系统当前总共安装有92510个文件和目录。)正在解压缩openssh-server(从.../openssh-server_4.6p1-5build1_i386.deb)...正在设置openssh-server(1:4.6p1-5build1)...CreatingSSH2RSAkey;thismaytakesometime...CreatingSSH2DSAkey;thismaytakesometime...*RestartingOpenBSDSecureShellserversshd[OK]第11页/共86页重启网络服务查看服务是否启动注意到“LocalAddress”栏下有显示“*:ssh”,这表示SSH服务启动成功。student@ubuntu:~$sudo/etc/init.d/sshrestart*RestartingOpenBSDSecureShellserversshd[OK]student@ubuntu:~$sudonetstat-tulpActiveInternetconnections(onlyservers)ProtoRecv-QSend-QLocalAddressForeignAddressStatePID/Programnametcp00*:5900*:*LISTEN4946/vino-servertcp00*:ssh*:*LISTEN5419/sshdtcp00localhost:ipp*:*LISTEN4433/cupsd┆第12页/共86页客户端测试。1)Linux测试OpenSSH安装完成后默认配置是使用帐户、密码方式登录。使用当前系统默认帐号登录远程OpenSSH主机。当前默认本地客户端主机的帐号是student,故默认也是使用student登录远程OpenSSH服务器。student@ubuntu:~$sshstudent@'spassword:Linuxubuntu2.6.22-14-generic#1SMPSunOct1423:05:12GMT2007i686TheprogramsincludedwiththeUbuntusystemarefreesoftware;theexactdistributiontermsforeachprogramaredescribedintheindividualfilesin/usr/share/doc/*/copyright.UbuntucomeswithABSOLUTELYNOWARRANTY,totheextentpermittedbyapplicablelaw.Lastlogin:TueApr119:46:352008fromubuntu第13页/共86页退出OpenSSH远程服务器。使用其他帐号登录远程OpenSSH服务器。student@ubuntu:~$exitlogoutConnectiontoclosed.student@ubuntu:~$student@ubuntu:~$ssh-lrootroot@'spassword:Lastlogin:TueApr119:44:002008fromLinuxubuntu2.6.22-14-generic#1SMPSunOct1423:05:12GMT2007i686TheprogramsincludedwiththeUbuntusystemarefreesoftware;theexactdistributiontermsforeachprogramaredescribedintheindividualfilesin/usr/share/doc/*/copyright.UbuntucomeswithABSOLUTELYNOWARRANTY,totheextentpermittedbyapplicablelaw.root@ubuntu:~#第14页/共86页Windows测试使用客户端程序,如Putty。在HostName输入主机地址,在Protocol选择协议SSH即可,如图左所示。在左图所示界面中,点击打开,进入登录界面,输入用户名、密码登录远程主机,右图所示界面是以student帐户正常登录远程主机的显示界面。第15页/共86页任务3采用VNC方式进行图像化远程连接VNC(VirtualNetworkComputing:虚拟网络计算机)的使用非常广泛,它能将完整的窗口界面通过网络,传输到另一台计算机的屏幕上,在UbuntuGnome桌面系统包含自带了vino作为VNCServer。Ubuntu中开启远程桌面控制在Ubuntu中开启远程桌面控制是很容易的。点击系统→首选项→远程桌面,如图所示。第16页/共86页2、查看服务是否启动看到“PID/Programname”栏下有显示“vino-server”表示VNC服务启动成功。student@ubuntu:~$sudonetstat-tulpActiveInternetconnections(onlyservers)ProtoRecv-QSend-QLocalAddressForeignAddressStatePID/Programnametcp00*:5900*:*LISTEN4946/vino-server┆第17页/共86页3、客户端测试Linux测试使用vncviewer命令登录VNC服务器。使用终端服务客户端登录VNC服务器点击应用程序→Internet→终端服务客户端,如图所示。在常规选项卡的计算机中输入VNC服务器的地址,接着在协议下拉栏选择协议VNC,最后点击连接按钮。第18页/共86页4、Windows测试到网站下载Windows版本的VNCViewer(下载要求输入必要的注册信息),下载无须安装后直接执行VNCViewer,弹出VNCViewer:ConnectionDetails窗口,如图所示。在Server字段输入VNC服务器的地址信息,点击OK。如果信息无误,将连接到远程主机,如右图所示。注意到右图所示界面桌面上的一个小的方框图标,这是由于目前只能查看VNC服务器,可以试着重新设置服务器以获得管理权限第19页/共86页5、练习与思考在XUbuntu上实现采用VNC方式进行图像化远程连接第20页/共86页任务4基于XDMCP方式进行图像界面远程连接VNC必须要求在服务器端本地登录主机后才能远程连接,采用基于XDMCP(XDisplayManagerControlProtocol:X显示控制协议)方式则没有此要求,另一面,采用XDMCP方式连接也被认为是Linux环境标准的远程图像界面连接。第21页/共86页1、配置gdmUbuntu使用gdm来管理启动XWindow服务器,并管理图形客户端程序的登录、会话、启动窗口管理器等。如果服务器端采用Ubuntu默认桌面环境,基于XDMCP方式进行图像界面远程连接配置主要是针对gdm进行配置。gdm的主要配置文件有两个:gdm.conf和gdm.conf-custom,通常可以手动修改的是gdm.conf-custom,而gdm.conf不应该被手动修改。gdm.conf-custom配置如下。student@ubuntu:~$cat/etc/gdm/gdm.conf-custom|grep'^[^#]'[daemon]RemoteGreeter=/usr/lib/gdm/gdmgreeter[security]AllowRemoteRoot=trueAllowRoot=trueDisallowTCP=false//允许TCP网络连接[XDMCP]Enable=true//启用XDMCPPort=177[gui][greeter]DefaultFace=/usr/share/pixmaps/BackgroundType=1[chooser][debug][servers]第22页/共86页2、系统登录窗口登录窗口首选项提供一些便捷的选择框等方便的对gdm配置文件进行设置。点击系统→系统管理→登录窗口,弹出登录窗口首选项对话框,如图所示。第23页/共86页点击远程选项卡,在样式下拉栏选择“与本地相同”,则远程连接时登录界面将与本地系统登录界面一样,如图所示第24页/共86页3、重新启动系统对gdm进行配置后必重新启动系统配置才能生效。“LocalAddress”栏下有如上显示表示基于XDMCP方式远程连接服务启动成功。student@ubuntu:~$sudonetstat-tulpActiveInternetconnections(onlyservers)ProtoRecv-QSend-QLocalAddressForeignAddressStatePID/Programnametcp00*:x11*:*LISTEN4748/Xudp00*:XDMCP*:*4738/gdm┆第25页/共86页4、客户端测试1)Linux测试使用X命令输入以上命令后系统将进入图所示远程登录界面,输入用户名、密码将登录远程主机。如果不清楚服务器的IP地址,可使用命令“X:1–broadcast”,网络最先回应的服务器主机就是就是目标主机。或者:Xnest-query:1student@ubuntu:~$X:1-query第26页/共86页问题解决
sudoapt-getinstallxfonts-cyrillic第27页/共86页使用终端服务客户端登录服务器。点击应用程序→Internet→终端服务客户端,如图所示。因为默认安装的ubuntu没有安装XDMCP的连接工具,所以终端服务客户端中的协议XDMCP是呈灰色,必须安装一个软件包来激活这个协议。student@ubuntu:~$sudoapt-getinstallxnest正在读取软件包列表...完成正在分析软件包的依赖关系树Readingstateinformation...完成下列【新】软件包将被安装:
xnest┆第28页/共86页安装好之后,在“终端服务客户端”常规选项卡的计算机中填入服务器IP,选择协议XDMCP,单击连接。接着,弹出Xnest浏览框,如图所示。Xnest浏览框显示的就是远程登录主机界面,输入用户名、密码就可以登录远程主机。第29页/共86页2)Windows测试安装X-Win32Linux下的XWindow系统本身份为客户端和服务器两部分,X-Win32就是在MS-Windows上面用来充当X-Server。安装X-Win32很简单,双击X-Win32安装程序即可。运行X-Config安装后会要运行X-Config,添加一个会话,,图所示是X-Config主界面。第30页/共86页启动XDMCP会话经过以上配置后返回到X-Config配置主界面,如图所示,选择刚配置的会话,点击启动。第31页/共86页相关知识
远程登录Linux操作系统允许多个用户同时使用一台计算机,为了保证系统的安全和记账方便,系统要求每个用户有单独的帐号作为登录标识,系统还为每个用户指定了一个口令。用户在使用该系统之前要输入标识和口令,这个过程被称为“登录”。远程登录是指用户使用Telnet等工具,使自己的计算机暂时成为远程主机的一个仿真终端的过程。仿真终端等效于一个非智能的机器,例如,在采用Telnet进行远程登录中,它只负责把用户输入的每个字符传递给主机,再将主机输出的每个信息回显在屏幕上。第32页/共86页1、远程连接协议介绍1)Telnet协议Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议。应用Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。它提供了三种基本服务:Telnet定义一个网络虚拟终端为远的系统提供一个标准接口。客户机程序不必详细了解远的系统,他们只需构造使用标准接口的程序;Telnet包括一个允许客户机和服务器协商选项的机制,而且它还提供一组标准选项;Telnet对称处理连接的两端,即Telnet不强迫客户机从键盘输入,也不强迫客户机在屏幕上显示输出。在Ubuntu实现Telnet协议的服务器软件是telnetd,telnetd是一种典型的客户机/服务器模型的服务,它的基本功能是,允许用户登录进入远程主机系统。使用Telnet协议进行远程登录时除了远程主机要求安装服务器软件外,还需要满足以下条件:在本的计算机上必须装有包含Telnet协议的客户程序;必须知道远程主机的IP地址或域名;必须知道登录帐户与口令。第33页/共86页2)SSHSSH(SecureShellProtocol)是一种在不安全网络上提供安全远程登录及其它安全网络服务的协议。SSH连接传统的网络服务程序,如telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的,就是很容易受到“中间人”(man-in-the-middle)这种方式的攻击。所谓“中间人”的攻击方式,就是“中间人”冒充真正的服务器接收你的传给服务器的数据,然后再冒充你把数据传给真正的服务器。服务器和你之间的数据传送被
“中间人”一转手做了手脚之后,就会出现很严重的问题。通过使用SSH,你可以把所有传输的数据进行加密,这样“中间人”这种攻击方式就不可能实现了,而且也能够防止DNS和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替telnet,又可以为ftp、pop、甚至ppp提供一个安全的“通道”。
实现SSH协议的软件包括客户端和服务端的软件,有两个不兼容的版本分别是:1.x和2.x。用SSH2.x的客户程序是不能连接到SSH1.x的服务程序上去的。OpenSSH2.x同时支持SSH1.x和2.x。
最初SSH是由芬兰的一家公司开发的。但是因为受版权和加密算法的限制,现在很多人都转而使用OpenSSH。OpenSSH是SSH的替代软件,而且是免费的,可以预计将来会有越来越多的人使用它而不是SSH。第34页/共86页SSH的安全验证SSH的安全验证是如何工作的。从客户端来看,SSH提供两种级别的安全验证。第一种级别(基于口令的安全验证)只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。第35页/共86页SSH的安全验证第二种级别(基于密钥对的安全验证)需要依靠密钥对,也就是你必须为自己创建一对密钥对,并把公钥放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的私钥进行安全验证。服务器收到请求之后,先在你在该服务器的家目录下寻找你的公钥,然后把它和你发送过来的私钥进行比较。如果密钥对一致,服务器就用公钥加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私钥解密再把它发送给服务器。用这种方式,你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。第二种级别不仅加密所有传送的数据,而且“中间人”这种攻击方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能需要10秒。第36页/共86页3、VNCVNC(VirtualNetworkComputing:虚拟网络计算机)基于一个名为
RFB的公共网络协议。VNC是一款优秀的远程控制工具软件,由著名的AT&T的欧洲研究实验室开发的。VNC是在基于UNIX和Linux操作系统的免费的开放源码软件,远程控制能力强大,高效实用,其性能可以和Windows和MAC中的任何远程控制软件媲美。基本上它是属于一种显示系统,也就是说他能将完整的窗口界面通过网络,传输到另一台计算机的屏幕上,在Windows服务器中包含的“TerminalServer”,以及Symantec公司开发的付费软件“PCAnywhere”都是属于这种设计.VNC基本上是由两部分组成:一部分是客户端的应用程序(vncviewer);另外一部分是服务器端的应用程序(vncserver)。VNC的基本运行原理和一些Windows下的远程控制软件很相象。VNC的服务器端应用程序在UNIX和Linux操作系统中适应性很强,图形用户界面十分友好,看上去和Windows下的软件界面也很类似。在任何安装了客户端的应用程序(vncviewer)的Linux平台的计算机都能十分方便的和安装了服务器端的应用程序(vncserver)的计算机相互连接。另外,服务器端(vncserver)还内建了JavaWeb接口,这样用户通过服务器端对其他计算机的操作就能通过Netscape显示出来了,这样的操作过程和显示方式比较直观方便。第37页/共86页4、XDMCP与XDMXDMCP即“XDisplayManagerControlProtocol”,是一种网络协议。由它来建立图形客户端程序与XWindow服务器的连接与通信,使用XDMCP始终被认为是查看远程Linux主机计算结果的标准方式。XDM即“XDisplayManager”,由它来启动XWindow服务器,并管理图形客户端程序的登录、会话、启动窗口管理器(KDE、Gnome)等。KDE和Gnome也提供了自己的xdm的实现,分别叫kdm和gdm。第38页/共86页Xinetd与超级守护进程Xinetd是目前Linux系统的Internet标准超级守护进程。1)端口计算机“端口”(port)可以认为是计算机与外界通讯交流的出口。在网络技术中,端口有好几种意思。集线器、交换机、路由器的端口指的是连接其他网络设备的接口,如RJ-45端口、Serial端口等。我们这里所指的端口不是指物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口。在Internet上,各主机间通过TCP/IP协议发送和接收数据包,各个数据包根据其目的主机的IP地址来进行互联网络中的路由选择。可见,把数据包顺利的传送到目的主机是没有问题的。问题出在哪里呢?我们知道大多数操作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据包传送给众多同时运行的进程中的哪一个呢?显然这个问题有待解决,端口机制便由此被引入进来。第39页/共86页Xinetd与超级守护进程Xinetd是目前Linux系统的Internet标准超级守护进程。1)端口本地操作系统会给那些有需求的进程分配协议端口(protocalport),即我们常说的端口),每个协议端口由一个正整数标识,如:80,139,445,等等(端口号只有整数,范围是从0到65535(256×256))。当目的主机接收到数据包后,将根据报文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来,例如,端口22对应的是SSH产生的进程,那么目的端口是22的数据将被SSH进程处理。说到这里,端口的概念似乎仍然抽象,那么继续跟我来,别走开。不光接受数据包的进程需要开启它自己的端口,发送数据包的进程也需要开启端口,这样,数据包中将会标识有源端口,以便接受方能顺利的回传数据包到这个端口,这也叫礼尚往来嘛。第40页/共86页2)超级守护进程建立与一台主机的TCP/IP连接时,实际上是创建了一个TCP/IP连接(通常是一个套接字)──这好象是在你和主机之间打了一个电话。TCP/IP连接由起始主机和接收主机唯一地定义,但还有其它标识,也即是端口。一旦建立了连接,某人就在另一端拿起了电话。这可以是接线员或直线。直线表示你直接连接到了服务器,这时服务器对应的服务是通常启动的独立进程。接线员是涉及Xinetd(早期是inetd)的方法。接线员(超级守护进程)实际上处理一组入站直线(主机上的端口),并亲自将它们交给负责的程序(服务器)。例如你通过telnet命令连接到Telnet服务器,在Telnet服务器端,Telnet服务程序并不直接与你打交道,而是通过Xinetd把你的连接请求发送到Telnet服务程序。第41页/共86页3、配置XinetdXinetd一方面可以抽取系统所有服务共有的属性放到/etc/xinetd.conf中,另一方面,将每一个服务具体的配置放到/etc/xinetd.d目录下,而每个配置文件都遵循同样的语法和规则。如何使用xinetd定义服务呢?编写一个服务文件,它除了指定/etc/xinetd.conf中所指定的一般参数之外,还指定特定配置。所以,如果/etc/xinetd.conf是这样的:student@ubuntu:~$cat/etc/xinetd.confdefaults{
instances
=60//同一服务允许的联机数
log_type
=SYSLOGauthpriv
log_on_success
=HOSTPID//成功联机记录该服务器启动的PID
log_on_failure
=HOST//失败联机记录该远程主机IP}includedir/etc/xinetd.d第42页/共86页那么放到/etc/xinetd.d中的每个服务文件都会继承这些缺省值,并通过服务文件指定它自己的参数。例如,远程服务Telnet的服务文件如下:student@ubuntu:~$cat/etc/xinetd.d/telnet|grep'^[^#]'servicetelnet{
disable
=yes
//服务预设是关闭的
flags
=REUSE
//额外使用的参数
socket_type
=stream
//使用tcp封包常用的联机类型
wait
=no
//不需等待,可以同时允许多个联机
user
=root
//启动程序的使用者身份
server
=/usr/sbin/in.telnetd//服务启动的程序
log_on_failure
+=USERID
//错误登入时,要记录下来的内容}第43页/共86页拓展提高经过以上对Telnet,OpenSSh等各种远程连接服务器的配置,以下将进行搭建一些更为完善、实用的远程连接服务器。(1)Telnet服务器提高配置;(2)OpenSSH服务器提高配置;(3)在Window下通过Putty和X-Win32远程使用Linux图形程序第44页/共86页任务1Telnet服务器提高配置Telnet服务器存在多个网络接口服务器一般存在多个网络接口,其中一个对内的网络接口,IP地址为,另一个为对外的网络接口,为了安全针对不同网络接口应该进行不同设定,比如对内网设定限制较松,对外网设定限制较严格。Xinted服务配置文件参考设定如下:第45页/共86页Xinted服务配置文件参考设定如下:student@ubuntu:~$cat/etc/xinetd.d/telnet|grep'^[^#]'servicetelnet{disable=nobind=//允许使用此服务的网络接口,也可以使用interfaceonly_from=/24//允许内部网络连接no_access=192.168.0.{8,188}//不允许末位IP地址为8与188的PC连接instance=UNLIMITED//不限制连接数nice=0//使用的优先级较高Flags=REUSEsocket_type=streamwait=nouser=rootserver=/usr/sbin/in.telnetdlog_on_failure+=USERID}servicetelnet{disable=nobind=0only_from=/24only_from=.instance=10//同时只允许10个用户联机umask=022//建立文件是默认属性nice=10//使用的优先级较低flags=REUSEsocket_type=streamwait=nouser=rootserver=/usr/sbin/in.telnetdlog_on_failure+=USERID}第46页/共86页重新启动服务,并使用netstat查看服务是否启动。看到如上类似两条记录表明配置成功。客户端测试依据前面测试方法,在内网或者外网中测试结果。student@ubuntu:~$sudonetstat-tulpnActiveInternetconnections(onlyservers)ProtoRecv-QSend-QLocalAddressForeignAddressStatePID/Programnametcp00:23:*LISTEN6426/xintedtcp000:23:*LISTEN6426/xinted┆第47页/共86页2、启用root登录Telnet默认是禁用root用户的,可以使用如下方式启用。student@ubuntu:~$sudomv/etc/securetty/etc/securetty.bak第48页/共86页3、使用inted超级进程管理UbuntuLinux也可以安装netkit-inetd(虚拟软件包,可以直接使用inetutils–inted或者openbsd–inted代替)进行inted超级进程服务管理,这时不需要配置,重启inetd后就直接可以使用telnet。student@ubuntu:~$sudoapt-getinstallinetutils–intedtelnetd┆student@ubuntu:~$sudo/etc/init.d/inetutils–intedstart第49页/共86页任务2OpenSSH服务器提高配置OpenSSH不仅是安全的而且是加密的。OpenSSH更加吸引人的特性之一是它能够使用基于一对互补的数字式密钥的RSA和DSA认证协议来认证用户。RSA和DSA认证承诺不必提供密码就能够同远程系统建立连接,它可以代替OpenSSH缺省使用的标准安全密码认证系统,这是它的主要魅力之一。了解OpenSSH服务器设置在进行OpenSSH服务器提高配置前,了解OpenSSH主要配置文件/etc/ssh/sshd.conf的详细设定。第50页/共86页student@ubuntu:~$sudocat/etc/ssh/sshd.conf#1.OpenSSHServer的整体设定,包含使用的port,以及使用的密码演算方式Port22
#SSH默认使用22,要使用多个端口,重复设定即可Protocol2
#SSH协议版本,可以是1也可以是2,要同时支持,使用Protocol2,1#ListenAddress
#监听的主网络接口,默认所有接口均接受PidFile/var/run/sshd.pid
#可以放置SSHD这个PID的文件LoginGraceTime600
#连上SSHserver之后,出现输入密码提示,在多长时间内#没有成功连上SSHserver,就断线,时间为秒Compressionyes
#是否可以使用压缩指令#2.说明主机的PrivateKey放置的文件,默认使用下面的文件即可HostKey/etc/ssh/ssh_host_key
#SSHversion1使用的私钥HostKey/etc/ssh/ssh_host_rsa_key
#SSHversion2使用的RSA私钥HostKey/etc/ssh/ssh_host_dsa_key
#SSHversion2使用的DSA私钥#2.1关于SSHversion1的一些设定KeyRegenerationInterval3600#PublicKey重建时间ServerKeyBits768#Serverkey的长度#3.关于登录文件的讯息数据放置与daemon的名称SyslogFacilityAUTH
#SSH登录记录,默认是AUTH,即/var/log/secure文件LogLevelINFO
#登录记录信息的等级#4.安全设定#4.1登入设定部分PermitRootLoginno
#是否允许root登录StrictModesyes
#当使用者的hostkey改变之后,Server就不接受联机#RSAAuthenticationyes
#使用纯的RSA认证,仅针对version1PubkeyAuthenticationyes
#是否允许PublicKey,当然允许,只有version2AuthorizedKeysFile
.ssh/authorized_keys#使用密钥认证是密钥文件位置#4.2认证部分RhostsAuthenticationno
#本机系统不止使用.rhosts,仅使用.rhosts太不安#全了,所以这里一定要设定为noIgnoreRhostsyes
#是否取消使用~/.ssh/.rhosts来做为认证RhostsRSAAuthenticationno#这个选项是专门给version1用的,使用rhosts文#件在/etc/hosts.equiv,配合RSA演算方式来进行认证。不要使用HostbasedAuthenticationno#这个与上面的类似,不过是给Version2使用的IgnoreUserKnownHostsno
#忽略家目录内的~/.ssh/known_hosts这个文件所记#录的主机内容?当然不要忽略,所以这里就是no第51页/共86页PasswordAuthenticationyes#使用密码验证PermitEmptyPasswordsno
#是否允许以空的密码登入,当然不许#PAMAuthenticationViaKbdIntyes
#启用其它的PAM模块,启用这个模块将会#导致PasswordAuthentication设定失效#4.3与Kerberos有关的参数设定!因为没有Kerberos主机,以下不用设定#KerberosAuthenticationno#KerberosOrLocalPasswdyes#KerberosTicketCleanupyes#KerberosTgtPassingno#4.4以下是有关在X-Window使用的相关设定X11Forwardingyes#X11DisplayOffset10#X11UseLocalhostyes#4.5登入后的项目:PrintMotdno
#登入后是否显示出一些信息呢?例如上次登入的时间、地点#等等,预设是yes,但是,如果为了安全,可以考虑改为noPrintLastLogyes
#显示上次登入的信息KeepAliveyes
#一般而言,如果设定这项目,那么SSHServer会传送#KeepAlive的讯息给Client端,以确保两者的联机正常,在这个情况下任何一端#死掉后,SSH可以立刻知道UsePrivilegeSeparationyes#使用者的权限设定,就设定为yes吧MaxStartups10
#同时允许登录的联机画面,当连接SSH,但尚未输入密码#这时就是联机画面,为了保护主机,需要设定最大值,#4.6使用者抵挡的设定项目:DenyUserstest#设定受抵挡的使用者名称DenyGroupstest
#与DenyUsers相同!仅抵挡几个群组第52页/共86页2、配置基于RSAkey验证的SSH(密钥对)1)修改OpenSSH服务配置文件。这个配置文件使用SSHVersion2,禁用基于口令的安全验证,默认公钥内容输出到相应文件中~/.ssh/authorized_keys。第53页/共86页student@ubuntu:~$cat/etc/ssh/sshd_config|grep'^[^#]'Port22Protocol2HostKey/etc/ssh/ssh_host_dsa_keyUsePrivilegeSeparationyesSyslogFacilityAUTHLogLevelINFOLoginGraceTime120PermitRootLoginyesStrictModesyesPubkeyAuthenticationyesAuthorizedKeysFile%h/.ssh/authorized_keysIgnoreRhostsyesRhostsRSAAuthenticationnoHostbasedAuthenticationnoPermitEmptyPasswordsnoChallengeResponseAuthenticationnoPasswordAuthenticationnoX11ForwardingyesX11DisplayOffset10PrintMotdnoPrintLastLogyesTCPKeepAliveyesAcceptEnvLANGLC_*Subsystemsftp/usr/lib/openssh/sftp-serverUsePAMyes第54页/共86页2)重新启动SSH并测试服务。修改完SSH的配置文件后,需要服务才能使新的设置生效。这时,在远程终端(自用PC等等)上,用SSH客户端软件以正常的密码的方式是无法登录服务器的。为了在客户能够登录到服务器,接下来建立SSH用的公钥与私钥,以用于客户端以“钥匙”的方式登录SSH服务器。student@ubuntu:~$sudo/etc/init.d/sshrestartRestartingOpenBSDSecureShellserversshd[OK]┆student@ubuntu:~$sshPermissiondenied(publickey).第55页/共86页3)建立RSA认证的公钥与私钥使用ssh-keygen建立公钥与私钥。公钥与私钥的建立可以在SSH服务器端进行,也可以在SSH客户器端进行,这里以在SSH服务器端为例。注意,这里输入的口令不是客户端登录时输入的用户口令,而是私钥文件的密码保护口令,如果私钥文件被其他用户获得,但他不知道私钥文件的口令,还是不能使用私钥文件进行远程登录。student@ubuntu:~$ssh-keygen//建立公钥与私钥Generatingpublic/privatersakeypair.Enterfileinwhichtosavethekey(/home/student/.ssh/id_rsa)://钥匙的文件名,这里保持默认直接回车Enterpassphrase(emptyfornopassphrase)://输入口令(这里输入为12345)Entersamepassphraseagain://再次输入口令Youridentificationhasbeensavedin/home/student/.ssh/id_rsa.//私钥文件Yourpublickeyhasbeensavedin/home/student/.ssh/id_rsa.pub.//公钥文件Thekeyfingerprintis:9b:be:83:8d:f5:61:1e:71:78:16:4d:27:c4:ac:b6:22student@ubuntu:~$第56页/共86页4)确认公钥与密钥是否建立。student@ubuntu:~$cd~/.sshstudent@ubuntu:~/.ssh$lsid_rsa.id_rsa.pubknown_hosts第57页/共86页5)放置公钥到正确位置student@ubuntu:~/.ssh$catid_rsa.pub>>authorized_keys//公钥内容输出到相应文件student@ubuntu:~/.ssh$rm-fid_rsa.pub删除原来的公钥文件student@ubuntu:~/.ssh$chmod400authorized_keys
//更改新建立的公钥文件属性第58页/共86页3、客户端测试。1)Linux测试这里以另一台Linux计算机上使用student01帐户登录系统进行测试(如果条件有限,也可以在同一台Linux计算机上使用student01帐户登录系统进行测试)。查看客户端配置文件。“/etc/ssh/ssh_config”文件是OpenSSH系统范围的客户端配置文件,允许通过设置不同的选项来改变客户端程序的运行方式。这个文件的每一行包含“关键词-值”匹配,其中“关键词”是忽略大小写的。第59页/共86页这个文件默认不需要变动。要注意的是IdentityFile设置选项,IdentityFile设置用户的RSA/DSA私钥文件存放位置,默认为~/.ssh/目录下。Student01@ubuntu:~$cat/etc/ssh/ssh_config┆Host*┆IdentityFile~/.ssh/id_rsaIdentityFile~/.ssh/id_dsa┆SendEnvLANGLC_*
HashKnownHostsyesGSSAPIAuthenticationyesGSSAPIDelegateCredentialsno第60页/共86页保存私钥到student01用户.ssh目录将私钥通过安全的方式转移到客户端的计算机上,已经IdentityFile设置要求,在student01用户.ssh目录应有id_rsa文件。student01@ubuntu:~/.ssh$lsid_rsa第61页/共86页远程登录以下演示了先以student01登录远程主机,接着以student登录远程主机。student01@ubuntu:~/.ssh$ssh//以student01登录远程主机Theauthenticityofhost'()'can'tbeestablished.RSAkeyfingerprintisab:df:28:9a:95:f1:f3:63:96:5f:e6:c2:3d:f2:01:d6.Areyousureyouwanttocontinueconnecting(yes/no)?yes//初次登录提示Failedtoaddthehosttothelistofknownhosts(/home/student01/.ssh/known_hosts).Enterpassphraseforkey'/home/student01/.ssh/id_rsa':Permissiondenied(publickey).student01@ubuntu:~/.ssh$sshstudent@//student登录远程主机Theauthenticityofhost'()'can'tbeestablished.RSAkeyfingerprintisab:df:28:9a:95:f1:f3:63:96:5f:e6:c2:3d:f2:01:d6.Areyousureyouwanttocontinueconnecting(yes/no)?yesFailedtoaddthehosttothelistofknownhosts(/home/student01/.ssh/known_hosts).Enterpassphraseforkey'/home/student01/.ssh/id_rsa'://输入私钥密钥口令12345Enterpassphraseforkey'/home/student01/.ssh/id_rsa':Linuxubuntu2.6.22-14-generic#1SMPSunOct1423:05:12GMT2007i686TheprogramsincludedwiththeUbuntusystemarefreesoftware;theexactdistributiontermsforeachprogramaredescribedintheindividualfilesin/usr/share/doc/*/copyright.UbuntucomeswithABSOLUTELYNOWARRANTY,totheextentpermittedbyapplicablelaw.Lastlogin:SatApr1204:59:512008fromubuntustudent@ubuntu:~$第62页/共86页由于公钥文件保存在远程主机student用户主目录下,所有以student01帐号是远程登录不了的。提示:如果要求在本地能使用student01用户远程登录,则必须把公钥文件保存在远程主机student01的用户主目录下。第63页/共86页2)Windows测试这里还是以客户端程序Putty为例,介绍登录到服务器的方法。保存私钥文件把Ssh主机上的的私钥文件复制到Windows本地硬盘的适当位置上。转换来自服务器端的私钥为Putty可用的私钥服务器端直接生成的私钥,Putty无法直接使用,需要用Puttygen来转换为Putty可以使用的私钥匙。运行Puttygen,出现图3.20界面。第64页/共86页点击Load,选
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 注册会计师复习交流平台试题及答案
- 微生物实验的观察能力考核试题及答案
- 成长课题申报书
- 美学课题申报书范文
- 项目管理专业人士考前冲刺试题及答案
- 深入理解证券从业资格证试题及答案
- 湖南益阳箴言中学2025年高考适应性考试语文试卷含解析
- 江西名师联盟2024-2025学年高考语文押题试卷含解析
- 项目执行中的理念创新试题及答案
- 鹤岗市重点中学2025届高三第六次模拟考试语文试卷含解析
- 中医英语课后翻译习题答案(全)
- 毕业论文-电子密码锁设计
- 中国古代园林
- 国开开放大学本科非英语专业学士学位英语统一考试样题附答案
- 混凝土面板施工技术方案
- 双心药物治疗
- 4D厨房设备设施管理责任卡
- GB/T 3655-2022用爱泼斯坦方圈测量电工钢带(片)磁性能的方法
- GB/T 12727-2017核电厂安全级电气设备鉴定
- GB 5009.83-2016食品安全国家标准食品中胡萝卜素的测定
- NS中国移动XXXX年客户满意度调查项目计划书
评论
0/150
提交评论