📄 1113.html
字号:
<form action="http://www.linuxhero.com/docs/search.html" method=get>
<table
style="BORDER-RIGHT: #c4c4c4 1px solid; BORDER-TOP: #c4c4c4 1px solid; BORDER-LEFT: #c4c4c4 1px solid; BORDER-BOTTOM: #c4c4c4 1px solid"
cellspacing=0 cellpadding=3 width="95%" border=0 align="center">
<tbody>
<tr>
<td noWrap background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif">
<div align=center><font class=normalfont>搜索文章:
<input type=hidden value=result name=action2>
<input type=radio checked value=title name=type>标题
<input type=radio value=content name=type>内容
<input type=image src="images/button_go.gif" tppabs="http://www.linuxhero.com/docs/images/button_go.gif" border=0 name=image2>
</font></div>
</td>
</tr>
<tr>
<td noWrap>
<div align="center">
<input maxlength=100 size=30 name=keyword2>
</div>
</td>
</tr></tbody>
</table>
</form>
</TD>
<TD rowSpan=2><IMG src="images/header_r1_c7.gif" tppabs="http://www.linuxhero.com/docs/images/header_r1_c7.gif" width=26 border=0 name=header_r1_c7></TD>
<TD><IMG height=83 src="images/spacer.gif" tppabs="http://www.linuxhero.com/docs/images/spacer.gif" width=1 border=0></TD></TR>
<TR>
<TD background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif"><IMG height=22
src="images/header_r2_c1.gif" tppabs="http://www.linuxhero.com/docs/images/header_r2_c1.gif" width=296 border=0
name=header_r2_c1></TD>
<TD background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif" colSpan=5>
<DIV align=right><FONT class=normalfont>当前位置:
<A href="index.html" tppabs="http://www.linuxhero.com/docs/index.html">本站首页</A>
<font color="#FF6699">>></font>
<A href="type15.html" tppabs="http://www.linuxhero.com/docs/type15.html">网络安全</A> | <A href="copyright.html" tppabs="http://www.linuxhero.com/docs/copyright.html">版权说明</A></font></DIV>
</TD>
<TD><IMG height=22 src="images/spacer.gif" tppabs="http://www.linuxhero.com/docs/images/spacer.gif" width=1
border=0></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=10 cellPadding=0 width="100%" bgColor=#ffffff
border=0>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=3 width="100%" border=0>
<TR>
<TD vAlign=top align=middle width="60%">
<TABLE cellSpacing=0 cellPadding=0 width="100%"
background="images/back.gif" tppabs="http://www.linuxhero.com/docs/images/back.gif" border=0>
<TBODY>
<TR>
<TD vAlign=top width="80%">
<DIV align=center>
<FORM action="search.html" tppabs="http://www.linuxhero.com/docs/search.html" method=get>
</FORM>
<TABLE cellSpacing=0 cellPadding=0 width="95%"
border=0><TBODY>
<TR>
<TD background="images/bgi.gif" tppabs="http://www.linuxhero.com/docs/images/bgi.gif"
height=30></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=3 width="95%"
align=center border=0>
<TBODY>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=3 width="100%"
border=0>
<TBODY>
<TR>
<TD vAlign=top>
<p><FONT class=normalfont><B><font color=blue>OpenSSH:让远程管理更安全</font></B></FONT><BR><FONT class=smallfont color=#ff9900>2004-04-23 15:18 pm</FONT><BR><FONT class=normalfont>作者:邵海杨<br>来自:Linux知识宝库<br>联系方式:无名<br><br> 安全和稳定是Linux操作系统的两大特点。由于Linux采取了许多安全技术措施,包括读/写权限控制、带保护的子系统、审计跟踪、核心授权等,为网络多用户环境中的用户提供了必要的安全保障,因此越来越多的用户开始学习和使用Linux。但是Linux的安全要建立在有效的防范基础上,如果是一个不加任何防范和限制的Linux系统,同样也有较多漏洞。以传统的网络服务程序为例,FTP、R Shell和Telnet等服务在本质上都存在不安全因素,因为它们在网络上用“明文”传送口令和数据,使别有用心的人很容易截获这些口令和数据。同时这些服务程序的安全验证方式也有弱点,很容易受到“中间人”(man-in-the-middle)的攻击。所谓“中间人”的攻击方式,即“中间人”冒充真正的服务器接收用户传给服务器的数据,然后再冒充该用户把数据传给真正的服务器。服务器和用户之间的数据传送被“中间人”做了手脚之后,会出现很严重的问题。所以,尽可能地使用安全的工具来管理系统显得愈发重要。<br>
<br>
传统远程管理工具的特点<br>
<br>
远程登录的作用就是让用户以模拟终端的方式,登录到Internet的某台主机上。一旦连接成功,这些个人计算机就像远程计算机的一个终端,可以像使用终端计算机一样输入命令,并运行远程计算机中的程序。<br>
<br>
在企业通常的使用环境中,服务器放在ISP托管中心或其服务器机房内,只有少数人才能进入并接触到主机。因此管理员通常会在服务器上开启Telnet服务守护进程,以便能够随时观察服务器上的变化,并登录到服务器上进行维护;如果管理员需要在服务器调试程序,还会开启FTP服务进程,从本地机上传程序到服务器进行调试(如图1所示)。可见这种终端的服务对网络管理员来说非常重要。<br>
<br>
图1 管理员利用终端服务对ISP进行操控<br>
<br>
一般在远程管理中经常使用远程管理Telnet的工具有CRT、 NetTerm、ShellNet,以及Rlogin、Rcp、Rexec、Rsh(所有以“R”开头的服务都建立在不与外界进行任何联系的基础上。出于安全方面的考虑,必须禁止这些进程的启动)。这些工具的优点是使用方便、配置简单;缺点是不够安全。以Telnet为例,因为其以“明码”传输,所以不能称为一个很好的联机方式。什么是“明码”?简单地说,使用Telnet时,系统会出现一个主机界面,如果没有设置系统的issue.net文件为空,系统默认出现的界面就会泄露一些对用户不利的信息给别人,如图2所示。<br>
<br>
<br>
<br>
图2 Telnet登录主机界面<br>
<br>
用户需要输入账号与密码,当主机接受资料后才能进行确认。此时,用户资料就会经过 Telnet协议传输到主机上。如果有人正在某个router节点监听封包,就可以轻而易举地截获资料封包,并可以通过解读窃取账号和密码。建议非必要时不要激活Telnet;如果一定要激活,必须确定限制的联机范围,并使用iptables设定联机的限制区域。此外,还要随时注意登录档案里关于登录的事项,不要让root用户以Telnet方式登入Linux主机。<br>
<br>
SSH及OpenSSH简介<br>
<br>
SSH(Secure Shell)是以远程联机服务方式操作服务器时的较为安全的解决方案。它最初由芬兰的一家公司开发,但由于受版权和加密算法的限制,很多人转而使用免费的替代软件OpenSSH。<br>
<br>
用户通过SSH可以把所有传输的数据进行加密,使“中间人”的攻击方式不可能实现,而且也能够防止DNS和IP欺骗。它还有一个额外的好处是传输的数据是经过压缩的,可以加快传输的速度。SSH作用广泛,既可以代替Telnet,又可以为FTP、POP,甚至为PPP提供一个安全的“通道”。SSH协议在预设的状态中,提供两个服务器功能:一个是类似Telnet的远程联机使用Shell服务器,即俗称SSH功能;另一个是类似FTP服务的SFTP-Server功能,可提供更安全的FTP服务。<br>
<br>
SSH的安全验证如何工作呢?主要依靠联机加密技术。从客户端来看,有以下两种安全验证级别:<br>
<br>
1.基于口令的安全验证(ssh1) 只要知道自己的账号和口令,就可以登录到远程主机。所有传输的数据都将被加密,但是不能保证正在连接的服务器就是想要连接的服务器。可能受到“中间人”的攻击。<br>
<br>
2.基于密匙的安全验证(ssh2) 需要依靠密匙,即用户必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用密匙进行安全验证。服务器收到请求之后,先在该服务器的home目录下寻找公用密匙,然后把它和发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge),并把它发送给客户端软件。客户端软件收到“质询”后,就可以用私人密匙解密再把它发送给服务器。使用这种方式,用户必须知道自己密匙的口令。与第一种级别相比,这种级别不需要在网络上传送口令,不仅加密所有传送的数据,而且阻止了“中间人”攻击方式。整个登录的过程一般需要10秒。<br>
<br>
OpenSSH的安装和启动<br>
<br>
OpenSSH的安装非常简便,操作如下。<br>
<br>
1.下载软件包。到http://www.openssh.com下载最新软件包OpenSSH 3.6.1(最好下载源程序软件包后自行编译)。本文以openssh-3.5p1.tar.gz为例进行介绍,安装环境为Red Hat 7.1/kernel 2.4.8/gcc-2.96-98。<br>
<br>
2. 解压及安装,代码如下:<br>
<br>
# tar zxvf openssh-3.5p1.tar.gz <br>
# cd openssh-3.5p1<br>
# ./configure --prefix=/opt --sysconfdir=/etc/openssh<br>
# make<br>
# make install<br>
# cd /etc/rc.d/init.d/<br>
# vi sshd <br>
//加入/opt/sbin/sshd启动进程<br>
# cd /etc/rc.d/rc3.d/<br>
# ln -s ../init.d/sshd S59sshd<br>
<br>
<br>
<br>
重启计算机以后,用下列命令进行测试:<br>
<br>
# ssh -l geminis www.test.com<br>
The authenticity of host 'www.test.com (*.*.*.*)' can't be established.<br>
RSA key fingerprint is a7:35:3c:bd:47:b0:5d:30:68:f1:15:77:1a:b1:67:dd.<br>
Are you sure you want to continue connecting (yes/no)?<br>
<br>
<br>
<br>
因为是第一次登录主机,OpenSSH将显示不能识别该主机。键入“yes”,把主机的“识别标记”加到“~/.ssh/know_hosts”文件中。第二次访问这台主机的时候就不会再显示这条提示信息。然后,OpenSSH提示输入远程主机上的账号及口令。输入完后就建立了SSH连接,可以像使用 Telnet一样使用OpenSSH。<br>
<br>
配置基于密钥认证的OpenSSH<br>
<br>
缺省情况下,SSH将默认使用口令验证方式。不需要对系统进行任何配置就可以使用账号和口令登录到远程主机。下面介绍如何配置并使用基于密匙认证的OpenSSH(假设用户名为geminis,主机IP为192.168.0.1)。<br>
<br>
首先创建一对密匙(包括公匙和密匙,并且用公匙加密的数据只能用密匙解密),把公匙放到需要远程服务器上。当登录远程服务器时,客户端软件会向服务器发出请求,请求用密匙进行认证,代码如下:<br>
<br>
# ssh-keygen -d<br>
// 加上参数d是创建一个一基于ssh2的密匙对 <br>
#Generating public/private DSA key pair. <br>
// 生成DSA加密模式的密匙对<br>
# Enter file in which to save the key (/home/geminis/.ssh/id_dsa): <br>
//存放密匙文件的路径,直接回车为默认目录<br>
# Enter passphrase (empty for no passphrase): <br>
//必须输入一个>4个字符的标识符<br>
# Enter same passphrase again: <br>
//重新确认一次<br>
<br>
<br>
<br>
如果创建成功,系统将返回以下信息:<br>
<br>
Your identification has been saved in /home/geminis/.ssh/id_dsa.<br>
Your public key has been saved in /home/geminis/.ssh/id_dsa.pub.<br>
The key fingerprint is:<br>
29:1b:46:00:08:38:d5:87:da:96:e7:c4:a3:6b:b1:3f geminis@www.test.com<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -