Linux服务器的远程管理.ppt
《Linux服务器的远程管理.ppt》由会员分享,可在线阅读,更多相关《Linux服务器的远程管理.ppt(95页珍藏版)》请在三一办公上搜索。
1、第13章 Linux服务器的远程管理,本章重点:Linux上远程登录的四种方法的实基于密钥认证的SSH2登录设置iptables的设置,随着硬件成本的不断降低,越来越多的企业选择使用自己的服务器来提供服务,这样的优势很明显。首先,服务器的空间大小只取决于自己的硬盘容量,也就是说在使用空间上几乎是无限的,一般一台服务器在普通流量下做五六个虚拟主机肯定没有问题。服务质量得到可以很好的保证。其次,各种服务可以根据需要定制,不会像使用租用的虚拟主机那样受到提供商的种种限制。再次,带宽使用比较理想,对于普通企业站点,ISP所提供的带宽一般都可以满足需要。,在接入方式上一般会采用专线接入或主机托管的形式。
2、专线接入因为需要申请电信的光缆,所以成本较高。较多采用的是主机托管的形式,将主机托管给ISP,按照时间托管时间付一定的费用,这是一种比较经济的方法。无论是哪种接入方式,一般服务器都不会直接操作,这就涉及到如何进行服务器的远程管理问题。在Linux上常见的远程管理方法有4种,Telnet(Telecommunication Network)方式、SSH(Secure Shell)方式、VNC(Virtual Network Computing)方式和远程X方式。其中SSH方式最常见,也最安全。,13.1 Telnet方式远程管理Linux Telnet是使用最为简单的Internet工具之一,也
3、是最早应用的Internet工具之一,这是最早使用的远程登录工具。因此几乎所有的系统上都提供了对Telnet的支持。但是由于Telnet在网络上都是使用明文方式传输的,这对于传输口令以及其他秘密信息来说是极其不安全的,利用连接到网络上的计算机监听Telnet和服务器之间的通信可以很容易获取这些传递的口令和秘密信息,安全性差又使得Telnet显得有些过时。事实上现在对远程服务器管理基本上已经将Telnet远程登录方式淘汰了,Telnet只用来做一些普通的资料查询、BBS系统等等。现在的远程登录通常使用更为安全的SSH来取代Telnet。即使偶尔使用也只会在安全性相对较好的局域网环境下使用。,在默
4、认状态下Red Hat Linux 9已经将Telnet禁用。这是基于系统安全性的考虑,毕竟Telnet实在是太不安全了。要打开系统的Telnet服务可以在/etc/xinetd.d目录下找到telnet并打开该文件:service telnet flags=REUSE socket_type=stream wait=no user=root server=/usr/sbin/in.telnetd log_on_failure+=USERID disable=yes,将禁用设置disable=yes更改为disable=no,然后使用下面的命令重新启动xinetd:#service xinet
5、d restart然后就可以在windows系统下使用Telnet登录Linux。在命令行下输入telnet 系统会显示Linux系统信息,然后询问用户名密码(如图13-1):,图13-1Windows下使用命令窗口下的Telnet登录Linux,Red Hat Linux 9 基于安全的考虑禁止直接使用root身份登录系统,如果要使用root身份可以使用su命令来获取root权限。,图13-2使用su指令获得root权限,如图13-2所示,输入su root后系统会询问root密码,正确输入密码后系统提示符会由“$”转变为“#”。,系统在登录时显示系统信息会泄露系统信息,由于各种Unix类系
6、统的特色各不相同,其薄弱环节往往也不一样,显示系统信息就会让意图侵入计算机的黑客可以有针对性的对系统发起攻击,增加了系统的危险性。最好将登录信息修改以防止信息泄露,Linux用来显示系统信息的文件有两个,一个为/etc/issue,另一个为/etc/。issue是在本地登录时显示的内容,是在网络登录时显示的内容。可以将该文件修改以隐藏系统信息,如修成其他系统的提示信息,可以误导试图侵入系统的不法之徒,或者干脆将上述两个文件清空,这样在登录系统时就会只显示login:(图13-3),从而有效隐藏系统信息。,图13-3 屏蔽系统信息后使用Telnet登录Linux,13.2 SSH方式远程管理Li
7、nux SSH是一种跟Telnet类似的用于远程登录的系统,可以完全取代安全性十分脆弱的Telnet。SSH最初是由一家芬兰公司开发的。由于版权和加密算法的限制,现在越来越多人转向使用可免费的SSH的替代软件OpenSSH。SSH由客户端和服务端组成的,目前有两个版本:1.x和2.x,但是两个版本之间并不兼容,用SSH 2.x的客户程序无法和使用SSH 1.x的服务程序连接。Red Hat Linux 9系统中安装的OpenSSH版本是openssh-3.5p1-6,同时支持SSH 1.x和2.x。,SSH提供两种安全级别的验证方式,一种是基于口令的安全验证,另一种是基于密钥的验证方式。基于口
8、令的验证方式只需要提供服务器上用户的用户名和口令即可登录。而基于密钥的验证则需要重新生成一对密钥,在服务器上安装生成的公钥,客户端使用私钥来登录。但是无论是哪一种验证方式,SSH2都是基于密钥的验证方式,区别就在于使用口令验证过程中只使用了一对服务器密钥,而基于密钥的验证方式则是使用了一对服务器密钥和一对客户端密钥进行双方身份的互相验证,因此基于密钥的验证的安全性要高于基于口令的验证方式。,13.2.1 使用基于口令的验证 Red Hat Linux 9默认使用的是SSH的基于口令的验证。现在的主流操作系统是Windows,这里也只介绍Windows下使用SSH客户端连接Linux下SSH服务
9、器的设置。但是由于Windows本身没有提供SSH客户端的连接工具,因此要在Windows系统上使用SSH连接SSH服务器就必须借助于第三方软件。这里使用的是免费的PuTTY的windows版本,该软件的官方下载地址为:http:/the.earth.li/sgtatham/putty/latest/x86/putty.exe,该软件在国内的一些软件下载站点也可以找到,这里使用的是0.54版,该软件可直接运行无需安装,只有364K。同时支持SSH1和SSH2两种协议。该版本的PuTTY默认使用SSH2协议连接,较低版本的默认使用SSH1连接,但都可以指定连接中使用的协议。使用时直接运行可执行文
10、件putty.exe,如图13-4所示在Host Name or IP address 输入主机名或IP设置好端口单击Open即可。,图13-4配置PuTTY,Red Hat Linux 9上的OpenSSH在和客户端连接时会自动将服务器公钥发送到客户端。PuTTY会把服务器密钥存储于系统的注册表内。在第一次和服务器建立连接时PuTTY会显示一个警告信息(如图13-5)。这是由于PuTTY在第一次和服务器建立连接时,无法在系统注册表里找到该服务器的提供的公钥注册信息。,图13-5PuTTY发出警告信息,该警告信息的含义为:在注册表中没有存储该服务器提供的密钥。不能保证你要连接的服务器就是这台服
11、务器。服务器的 rsa2 密钥指纹是:ssh-rsa 1024 57:b2:c6:64:e0:3b:59:5f:24:9b:3b:c4:9a:03:52:bc如果你信任这台主机,选择按钮“是”,把密钥存储并连接到该主机。如果你只是想要连接一次,不存储该密钥,那么就选择按钮“否”,如果你不信任这台主机,就选择按钮“取消”放弃连接。,选择按钮“是”来建立连接,这样PuTTY就会将该服务器的密钥指纹存储在系统注册表内。存储于系统注册表的位置为:HKEY_CURRENT_USERSoftwareSimonTathamPuTTYSshHostKeys 在系统注册表里记录了连接的主机,密钥指纹,使用的密钥
12、等信息。然后PuTTY将使用服务器提供的公共密钥来对通信进行加密,这些加密信息只有在使用与之对应的服务器私钥才能解开,这就避免了其他计算机在冒充服务器时给用户发送从服务器获得的公共密钥(服务器公共密钥任何人都可以获得),而获得用户的信息,因为冒充的计算机无法解开使用服务器公共密钥加密后的数据。当第二次建立连接时PuTTY会取出这些信息和主机发送到客户端的密钥进行比较,如果一致将和服务器建立连接,提示输入用户名密码。如果发现不一致将发出警告信息:,图13-6PuTTY发现密钥不一致而发出警告信息,该警告信息含义为:警告-可能存在安全破坏!服务器密钥和PUTTY在注册表里保存的密钥不匹配。这有两种
13、可能,或者是服务器系统管理员更改了服务器密钥,或者是你实际上连接到了另外一台试图冒充服务器的计算机。新的 rsa2 密钥指纹是:ssh-rsa 1024 c4:f9:34:bb:33:b6:43:41:6c:1e:b6:9e:74:37:63:da如果你想要更新并且信任该密钥,那么就选择按钮“是”来更新PUTTY的注册信息并和该计算机建立连接。如果你想要建立连接,但又不想更新注册信息,那么就选择按钮“否”。如果你想要完全地放弃连接,那么就选择按钮“取消”。“取消”是唯一的可以保证安全的选择。,由于服务器默认密钥是在OpenSSH安装时随机生成的1024位密钥,其他服务器几乎没有可能生成相同的密
14、钥。因此当服务器发出这样的警告,而管理员对又没有对服务器密钥进行了重新安装,那这就肯定是有人在使用其他服务器冒充该服务器发起的中间人攻击。最好不要与之建立连接,否则有可能会泄露服务器使用的用户名密码。,图13-7使用基于口令的验证方式登陆服务器,没有什么问题后单击按钮【是】,出现一个和系统命令窗口相似的窗口,根据提示输入用户名密码即可。,13.2.2 使用基于密钥的验证 使用基于密钥的验证方式时也同样需要提供用户名,此时的用户名用来查看是否和用户提供的密钥匹配,因此用户身份识别完全依靠密钥进行,也就是必须为每一个需要登录服务器的用户设置用户密钥。,PuTTY本身没有创建密钥的功能,服务器直接创
15、建的密钥PuTTY也无法直接使用,必须使用由PuTTY官方站点提供的一个和PuTTY搭配使用的密钥工具PuTTYgen来转换服务器生成的密钥或者由该工具创建的密钥。和PuTTY一样,该文件也无需安装直接使用,大小只有156K。该软件官方下载地址为:http:/the.earth.li/sgtatham/putty/latest/x86/puttygen.exe 使用PuTTYgen可以自己创建密钥对,Openssh只能使用该工具生成的SSH1的密钥对,但可以将OpenSSH生成的SSH2密钥转换为PuTTY可以使用的私钥文件。,下面使用PuTTYgen创建一对SSH1密钥对。运行puttyge
16、n.exe(如图13-8)。,图13-8使用PuTTYgen创建密钥,从Parameters(参数)选择中选择SSH1(RSA),如果选择了使用SSH2(RSA)或者SSH2(DSA),可能无法正常工作,这可能是该程序的一个BUG,但是这并不影响转换Openssh创建的SSH2密钥,密钥长度使用默认设置1024即可。选择完毕单击Actions(动作)区域的按钮【Generate】(产生),开始生成密钥。,图13-9使用PuTTYgen生成密钥对,PuTTYgen的密钥是根据鼠标移动的位置信息来生成的,当鼠标指针移动速度较快时生成密钥的进度条也跟着变快。,图13-9复制PuTTYgen生成的SS
17、H1公钥,密钥生成后需要为私人密钥指定一个密钥密码(Key passphrase),输入密码并输入该密码的确认(Confirm passphrase)密钥就设置完成了。单击按钮【Save public key】保存公共密钥,单击按钮【Save private key】保存私人密钥。密码的长度最好不要少于八位。可以在Key comment除输入密钥说明。下面是将公共密钥发布到服务器上的步骤:(1)将密钥复制到用户目录 假设要为用户user设置密钥验证,那么可以先将公共密钥复制到该用户的主目录,复制方法可以使用FTP。,(2)建立密钥存放目录 使用该用户身份登录到服务器,在该用户主目录下建立一个名
18、称为.ssh的目录,然后将公钥文件移动到该目录,并重命名为authorized_keys。(3)打开系统的SSH认证 使用vi编辑器打开/etc/sshd/sshd_config,在该文件中找到下面的这行(大约在42行)。#AuthorizedKeysFile.ssh/authorized_keys 该选项用于设置用户公钥文件存储位置,系统默认位置在用户目录下的.ssh/authorized_keys,将前面的注释字符“#”删除。然后找到下面的一句(大约在57行):#PasswordAuthentication yes,该选项用于设置系统的验证方式,系统默认使用基于密码的验证方式,下面将前面的
19、注释字符“#”删除,然后将yes更改为no。这样系统就会禁止使用基于密码的验证方式而只使用基于密钥的验证方式,从而可以有效地提高系统的安全性。设置完成后使用service sshd restart命令重新启动sshd服务,使设置生效。此外还可以找到下面的一行:#PermitRootLogin yes 该选项为决定是否允许使用root用户直接登录,与Telnet默认不允许root登录不同,系统默认允许root使用SSH登录。为了增强系统的安全性可以禁止使用root直接登录,将该选项设置为PermitRootLogin no。,(4)客户端登录测试 运行putty.exe,在Host Name o
20、r IP address 输入主机名或IP地址,然后如图13-10所示,在Connection(连接)下的SSH窗口中的Protocol options(协议选项)中的Preferred SSH Protocol verision(首选SSH协议的版本)选项中选择1(选择SSH1协议)。,图13-10位PuTTY指定使用SSH1协议连接,然后在选择SSH下的Auth(验证),如图13-11所示窗口在Private key file for authentication(私钥验证文件)中单击按钮【Browse】(浏览),选择保存的私钥文件,单击按钮【Open】建立和服务器的连接。,图13-11选
21、择私钥文件,第一次和服务器建立连接时会弹出一个类似第一次使用密码方式连接的弹出警告窗口。说没有找到服务器提供的密钥信息,选择按钮【是】即可。然后按照提示输入用户名密码登录,这里的密码是设置的私钥的密码,而不是系统密码。输入用户名和密钥密码即可成功登录。,图13-12使用基于用户密钥的验证方式登录服务器,如果使用SSH2协议作基于密钥的验证就需要在服务器上使用OpenSSH为用户生成密钥。下面我们为用户user设置使用SSH2协议下基于密钥的验证。操作步骤如下:(1)创建用户密钥对 切换到user身份使用ssh-keygen命令创建用户密钥对。公钥由服务器用来识别用户身份,私钥下载到本地通过Pu
22、TTYgen转换为PuTTY可以使用的配置文件。,图13-13为用户user创建密钥对,使用ssh-keygen t rsa命令生成用户密钥(如图13-13所示),使用参数-t指定建立密钥的类型,SSH2协议可使用rsa 和dsa两种类型的密钥,如果是使用SSH1那么就只能使用rsa1。输入回车后系统提示指定密钥文件保存的路径,直接使用默认路径/home/user/.ssh/id_rsa即可。系统会自动在用户目录下建立.ssh目录,然后提示输入该密钥的密码,输入两次后会在用户目录下的.ssh目录生成两个文件id_rsa.和id_rsa.pub。id_rsa为用户私钥,id_rsa.pub为用户
23、公钥。将id_rsa.pub重命名为authorized_keys。,(2)转换用户私钥 然后把id_rsa下载到本地,使用PuTTYgen处理用户私钥。运行PuTTYgen,在Action处单击按钮【Load】,找到并打开从服务器获得的用户私钥。系统和会要求输入用户私钥密码(如图13-14)。,图13-14导入OpenSSH生成的私钥,正确输入密码后单击按钮【OK】,PuTTYgen会弹出一个成功导入外部密钥的对话框(如图13-15),单击【确定】关闭对话框。,图13-15 OpenSSH SSH2私人密钥成功被导入PuTTYgen,然后单击按钮【Save private key】将密钥保存
24、为PuTTY格式,关闭PuTTYgen。,(3)使用用户私钥登录 打开PuTTY在Host Name or IP address 输入主机名或IP地址。在Connection(连接)SSHAuth下选择刚才转换过的密钥,单击按钮【Open】连接服务器。,图13-16使用SSH2基于密钥的验证登录服务器,服务器会询问使用的用户名(如图13-16),输入用户名“user”输入回车,服务器会提示:“Authenticating with public key imported-openssh-key(使用公钥imported-openssh-key验证,imported-openssh-key是在创
25、建密钥时指定的公钥说明)”,然后提示输入为密钥设置的密码“Passphrase for key imported-openssh-key:”,当正确输入密码后就登录成功了。由于私钥和用户一一对应,当用户使用的密钥和用户提供的身份不符时系统就会不提示用户输入密码而直接将连接断开(如图:13-17)。,图13-17密钥和用户提供的身份不符,使用基于密钥的身份验证要求用户私钥、服务器公钥以及密钥密码三者完全对应,缺少任何一个都会使验证失败,这为服务器在用户身份验证方面提供了最为安全的保证。如果一旦怀疑用户私钥被窃取,不要迟疑马上重新建立密钥,并用新密钥替换旧密钥,这样即使有人窃取了用户密钥密码也会因
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 服务器 远程管理
链接地址:https://www.31ppt.com/p-5438067.html