谢:多谢xchen兄[cdcxx@etang.com]为弟兄们传道,授业,解惑!
****************************************************************************************************************************
Linux服务器的一些基本应用作者:Xchen[cdcxx@etang.com]2002.8
****************************************************************************************************************************
玩linux也有有一段时间了,作为一个初学者,遇到的麻烦实在不少。所幸这是个网络时代,在众多好心大哥帮助下,我跛子般一关一关闯了过来,其间酸甜苦辣实在让人回味。向这世界上千千万万伟大的linux程序员致敬,是他们让我们能有这么优秀的操作系统可用。这篇东西主要是给刚接触linux的而又急切想配一个服务器的朋友看的,由于鄙人水平有限,错误有所难免,欢迎大家指证。
现就以本公司的网络架构为例,来说一下linux服务器的配置。在正式配置之前先说一下这个服务器所要实现的功能:
1.数据共享
2.打印共享
3.模拟NT域
4.ADSL共享
5.内部DNS服务
6.DHCP服务
7.FTP服务
8.WWW服务
9.OPENSSH
10.磁盘配额
11.动态域名
网络架构如下:[如下图]
www.linuxsir.org/photo/Xchen.gif
Network:10.10.0.0
ServerIP:10.10.1.1
ServerSubnet-mask:255.255.0.0
ClientIP:10.10.1.10-10.10.1.100
ClientSubnet-mask:255.255.0.0
Clientgetway:10.10.1.1
ClientDNS:10.10.1.2,202.96.134.133
一、准备工作:
1.RedHatlinux7.2光盘一套
2.以太ADSL拔号器及您的ADSL接入帐号
3.两张网卡,最好是即插即用的,免跳线的请察明irq和io。
4.当然啦,除本机以外的其它机器
二、RedHatlinux7.2安装:
1.初学者建议用图形界面,请用定制安装。
2系统分区如下(10G):
swap:500M
/:2G
/var:1G
/home:2G
/tools:500M
/data:4G
分区的合理化请参考相关文章。
3.若是即插用网卡,系统能检测到,请设置好ip地址,子网掩码等,请分别设为10.10.1.1和10.10.1.2,subnet-mask为255.255.0.0;若是免跳线网卡,那就等装好系统再设置吧。
4.软件包选择,要全选上也没关系,只要你有空间,若是空间有限有话,不妨定制一下软件包,下面是我的选择,仅供参考:
PrintingSupport
NetworkSupport
DialupSupport
SMB:windowsfileserver
WWW:webserver
DNS:DNSnameserver
SoftwareDevelopment
5.好了,现在就next一路安装下去吧,最后不要忘了做一张启动盘。
三、linux网络环境配置
1]重启机器进入系统以后,去掉一些不必要的服务吧,留着它们启动速度慢,而且也不安全,下面是我机器刚安装好以后所保留的一些服务:
gpm/iptables/netfs/network/nfs/nfslock/portmap/syslog/xfs/xinetd
至其它的服务,等我们配置好再加载吧。
2]安装linuxconf,配置网络。
放入光盘1
mount/dev/cdrom/mnt/cdrom
cd/mnt/cdrom/RedHat/RPMS
rpm–ivhlinuxconf-1.25r7-3.i386.rpm
请用setup/systemservices或是chkconfig–levlel3linuxconfon将linuxconf设置为系统自启动服务。
netconf选择HostnameandIPnetworkdevices进行主机名及网络设置:
Hostname+domain:cxserver
------第一张网卡----------
configmode:Manual
primaryname+domain:abc
Ipaddress:10.10.1.2
Netmask:255.255.0.0
Netdevice:eth0
KernelModule:ne
I/Oport:0x300
Irq:3
------第二张网卡----------
configmode:Manual
primaryname+domain:cxserver
Ipaddress:10.10.1.1
Netmask:255.255.0.0
Netdevice:eth0
KernelModule:ne
I/Oport:0x320
Irq:5
选择Accept退出,重新启动就会看到eth0和eth1两网卡启动成功,进入系统后可用ifconfig命令查看状态,用ping命令测试其连通性,比如ping一部windows机器。
四、DNS服务器配置
为了让局域网内部用户访问服务器方便一点,配置一个DNS服务器是十分有必要的,毕竟一个名字总比一串数字好记,下面我将服务器10.10.1.1配一个域名www.cx.com,ftp.cx.com,好,开始行动:
需要配置的文件:
/etc/named.conf
/etc/resolv.conf
/var/named/named.hosts
/var/named/named.local
/var/named/named.10.10
1]配置/etc/named.conf文件。此文件是dns引导文件,named进程在启动时要读取它。
vi/etc/named.conf
//generatedbynamed-bootconf.pl
options{
directory"/var/named";
//query-sourceaddress*port53;
};
zone"."IN{
typehint;
file"named.ca";
};
//----------------------手工添加如下两节------------------------------
zone"cx.com"IN{
typemaster;
file"named.hosts";
};
zone"10.10.in-addr.arpa"IN{
typemaster;
file"named.10.10";
};
//------------------------------------------------------------------------------
zone"0.0.127.in-addr.arpa"IN{
typemaster;
file"named.local";
};
//include"/etc/rndc.key";
以下的三个文件是DNS数据库文件,具体参数不作详解,请参考相关资料。
2]vi/var/named/named.local
$TTL86400
@INSOAns.cx.com.root.ns.cx.com.(
1997022700;Serial
28800;Refresh
14400;Retry
3600000;Expire
86400);Minimum
INNSns.cx.com.
1INPTRlocalhost.
3]vi/var/named/named.hosts
@INSOAns.cx.com.root.ns.cx.com.(
2002042302;serial
28800;refresh
14400;retry
3600000;expire
86400;minimu
)
INNSns.cx.com.
cxINA10.10.1.1
cx1INA10.10.1.223
wwwINCNAMEns.cx.com.
ftpINCNAMEcx
4]vi/var/named/named.10.10
@INSOAns.cx.com.root.ns.cx.com.(
2002042302;serial
28800;refresh
14400;retry
3600000;expire
86400;minimu
)
INNSns.cx.com.
1INPTRns.cx.com.
2INPTRns1.cx.com.
5]编辑/etc/resolv.conf文件
vi/etc/resolv.conf
domaincx.com
nameserver10.10.1.1
好,让我们来启动服务吧:
/etc/rc.d/init.d/namedstart
chkconfig–level3namedon#将dns服务设置成系统服务,开机自启动
测试:pingcx.cx.com
pingwww.cx.com
pingftp.cx.com
或用nslookup,用法请参考nslookup–help。
五、DHCP服务器配置
1]安装dhcp。
放入光盘1或是光盘2
mount/dev/cdrom/mnt/cdrom
cd/mnt/cdrom/RedHat/RPMS
rpm–ivhdhcp-2.0p15-8.i386.rpm
请用setup/systemservices或是chkconfig–levlel3linuxconfon将linuxconf设置为系统自启动服务。
2]配置dhcpd.conf文件。
Vi/etc/dhcpd.conf
subnet10.10.0.0netmask255.255.0.0{
rangedynamic-bootp10.10.2.010.10.2.100;#IP地址分配范围
optionrouters10.10.1.1;#默认网关
optionsubnet-mask255.255.0.0;#默认子网掩码
optiondomain-name"cx.com";#默认域名
optiondomain-name-servers10.10.1.1,202.96.134.133;
}
#最后一行:DNS服务器设置,之所以把10.10.1.1放在前面是想让客户机在作域名解析的时候优先选择内部dns服务器,若域名不能解析,则用下一个dns服务器解析,202.96.134.133是深圳地区ADSL上网用户主DNS服务器.用下一个dns服务器解析,202.96.134.133是深圳地区ADSL上网用户主DNS服务器。
3]启动服务:/etc/rc.d/init.d/dhcpdstart
4]使用:不论Win9x还是2K都使用自动获取IP地址,其它什么都不用设。
六、ADSL及防火墙配置
1]下载软件:http://www.roaringpenguin.com/pppoe/rp-pppoe-3.5.tar.gz
2]安装软件:
tarzxvfrp-pppoe-3.5.tar.gz
cdrp-pppoe-3.5
./go#开始安装软件
3]软件安装好后,会运行设置程序adsl-setup
USERNAME
>>>EnteryourPPPoEusername(XXX):________#此处填写ADSL用户帐号
INTERFACE
(defaulteth0):_____#以太接口,eth0或者eth1
>>>Enterthedemandvalue(defaultno):#可以不填
DNS
>>>EntertheDNSinformationhere:202.96.134.133#本地电信提供的主域名服务器
>>>EnterthesecondaryDNSserveraddresshere:#本地电信提供的辅助域名服务器
PASSWORD
>>>PleaseenteryourPPPoEpassword:
>>>Pleasere-enteryourPPPoEpassword:#密码
FIREWALLING
0-NONE:Thisscriptwillnotsetanyfirewallrules.Youareresponsible
forensuringthesecurityofyourmachine.YouareSTRONGLY
recommendedtousesomekindoffirewallrules.
1-STANDALONE:Appropriateforabasicstand-aloneweb-surfingworkstation
2-MASQUERADE:AppropriateforamachineactingasanInternetgateway
foraLAN
>>>Chooseatypeoffirewall(0-2):0
防火墙设置,选择2可使主机设成局域网的internet网关,将客户机网关设为本机IP,DNS设为电信提供的DNS服务器IP即可上网了,它是由ipchains之ip伪装实现的,而rh7.2中的ipchains已经没有了ip_masq_ftp模块,所以客户机无法使用FTP服务,因此我们在这里不用防火墙,选择0。在rh72中已经有了iptables,它是ipchains的替代品,功能也更为强大了,呆会儿我们写一个脚本,用它来实现ADSL共享。
>>>Acceptthesesettingsandadjustconfigurationfiles(y/n)?y#保存设置
4]接下来,我们编写一个脚本/etc/rc.d/firewall
vi/etc/rc.d/firewall
#!/bin/sh
echo"Startiptablesrules..."
/etc/rc.d/init.d/iptablesstop
echo1>/proc/sys/net/ipv4/ip_forward
modprobeip_tables
modprobeip_nat_ftp
modprobeip_conntrack
modprobeip_conntrack_ftp
iptables-tnat-APOSTROUTING-oppp0-jMASQUERADE
iptables-Nmine
iptables-Amine-mstate--stateESTABLISHED,RELATED-jACCEPT
iptables-Amine-mstate--stateNEW-i!ppp0-jACCEPT
//允许外部访问我的www服务器
iptables-Amine-ptcp--dport80-ippp0-jACCEPT
//允许外部使用openssh服务,openssh相当于telnet,但是它的数据传输是加密的,
//所以更安全,强烈推荐使用。
iptables-Amine-ptcp--dport22-ippp0-jACCEPT
//允许外部访问我的ftp服务器
iptables-Amine-ptcp--dportftp-ippp0-jACCEPT
iptables-Amine-ptcp--dportftp-data-ippp0-jACCEPT
//禁止外部ping我
iptables-Amine-picmp--icmp-typeecho-request-ippp0-jDROP
//
iptables-Amine-ippp0-mlimit-jLOG--log-prefix"Badpacketfromppp0:"
iptables-Amine-i!ppp0-mlimit-jLOG--log-prefix"Badpacketnotfromppp0:"
iptables-Amine-jDROP
iptables-AINPUT-jmine
iptables-AFORWARD-jmine
//iptables功能十分强大,这里不作详解,使用方法请参考相关资料。
5]将这个脚加入到/etc/rc.d/rc.local里去,让它开机时自动运行。
chmod700/etc/rc.d/firewall#将firewall设为可执行文件
echofirewall>>/etc/rc.d/rc.local
当然也可以用vi编辑/etc/rc.d/rc.local文件,在尾部加入一行firewall即可。
6]chkconfig–level3iptableson#开机时启动iptables
7]好,重启,用root登录系统
用adsl-start命令连接网络,几秒以后出现.Connected,OK,网络已经连通,好!我们来测试:前提:前面写的防火墙脚本已经运行,内部局域网已经连通,DHCP服务已经运行,将客户端tcp/ip设置为自动获取IP地址,其它的什么都不用填,重启登录以后,试试www/ftp/qq等服务吧,速度奇快,爽死你,哈哈。
8]存在的问题:
ping一下前面我们设置的域名服务器吧,ping[urlwww.cx.com[/url],你会发现ping不通,为什么呢?你应该还记得我们在安装设置adsl的时候,填入了本地电信dns服务器地址,哈,就是它惹的祸。我们在运行adsl-start的时候,会调用adsl-connect脚本,而它会重写/etc/resolv.conf文件:
原来的:cat/etc/resolv.conf
domaincx.com
nameserver10.10.1.0
现在的:cat/etc/resolv.conf
nameserver202.96.134.133
在这种情况下DNS服务器要是运行起来了,那才稀奇了,呵呵。
解决方法:
修改/etc/resolv.conf文件:
vi/etc/resolv.conf
domaincx.com
nameserver10.10.1.1
nameserver202.96.134.133
修改/usr/sbin/adsl-connect脚本文件:
vi/usr/sbin/adsl-connect
找到下面几行,并将其注释掉:
---------------------------------------------------------------------------
iftest"$DNSTYPE"="SERVER";then
#Sorry,dude...
rm-f/etc/resolv.conf
ln-s/etc/ppp/resolv.conf/etc/resolv.conf
eliftest"$DNSTYPE"="SPECIFY";then
#Sorry,dude...
rm-f/etc/resolv.conf
echo"nameserver$DNS1">/etc/resolv.conf
iftest-n"$DNS2";then
echo"nameserver$DNS2">>/etc/resolv.conf
fi
fi
-----------------------------------------------------------------------------
9]重启,ADSL连接成功,DNS服务器正常,OK,继续前进吧!
七、文件(打印)服务器、模拟NT域的实现。
1]编辑/etc/samba/smb.conf文件
vi/etc/samba/smb.conf
[global]
workgroup=CX#把它当成NT登录域吧
serverstring=SambaServer
netbiosname=cxserver#服务器的netbios名字
hostsallow=10.10.1.10.10.2.127.#只允许10.10.1.0、10.10.2.0网段访问
printcapname=/etc/printcap
loadprinters=yes
printing=lprng
logfile=/var/log/samba/%m.log
maxlogsize=0
security=user#安全等级为user级,访问资源需要身份验证
encryptpasswords=yes
smbpasswdfile=/etc/samba/smbpasswd
socketoptions=TCP_NODELAYSO_RCVBUF=8192SO_SNDBUF=8192
domainmaster=yes
preferredmaster=yes
domainlogons=yes#可以登录
dnsproxy=no
[homes]#登录后可以看到用户home目录
comment=HomeDirectories
browseable=no
writable=yes
validusers=%S
createmode=0664
directorymode=0775
[printers]#若有打印机,在mineserver中可看到打印机,右键安装
comment=AllPrinters
path=/var/spool/samba
browseable=no
guestok=no
writable=no
printable=yes
[public]#共享/mnt/data/public文件夹,共享名为public,admin组有写权限
comment=software
path=/mnt/data/public
public=yes
wirtelist=@admin
2]用testparm测试/etc/samba/smb.conf文件中语法是否正确
3]/etc/rc.d/init.d/smbstart启动服务,并用smbclient–Llocalhost测试服务器是否正常,若是提示输入密码,回车以后看到服务器信息,则服务器正常。
4]添加用户和组
useraddtest
groupaddadmin
gpasswd–atestadmin
5]设置smb用户密码
smbpasswd–atest
输入密码并验证
6]用setup之Printerconfiguration配置一本地打印机,其过程请参考相关资料,这里不过多赘述。
7]测试:
请设置windows机器的网络属性,登录方式为网络用户登录,直接登录到NT域,NT域为cx,重启后用前面添加的test帐号登录,密码为smbpasswd–atest时设置的密码,进行系统后用控制面板之”用户及密码”可修改登录密码。
打开网上邻居,看是否能浏览到cxserver,亦可用cxserver访问。
最后设置:chkconfig–level3smbon#让smb开机自动运行
八、磁盘配额
前面我们在配置文件共享的时候,有一个共享资源为homes,如aa登录,在cxserver中有一个aa文件夹,aa用户对这个文件夹具读写权限,
如若我们不限制aa的话,他有可能会将硬盘塞满,任何一个管理员都不希望看到这种事情,下面我们用quota来实现对用户使用磁盘空间的限制。
1]首先明白一个概念,quota是针对分区的,所以我们在前面安装linux的时候单独分了一个/home区。
2]而所有的用户home目录都在/home下,现在开始在home目录下建立两个文件:
cd/home
touchquota.user
touchquota.group
chmod600quota.user//只允许root对这两个文件读写
chmod600quota.group
3]在/etc/rc.d/rc.local文件尾部加入quota启动脚本:
if[-x/sbin/quotacheck]
then
echo"Checkingquotas.Thismaytakesometime..."
/sbin/quotacheck-avug
echo"Done"
fi
if[-x/sbin/quotaon]
then
echo"Turningonquota"
/sbin/quotaon-avug
echo"OK"
fi
4]修改/etc/fstab文件中定义/home分区的那一行:
原内容:/dev/hda3/homeext3defaults12
新内容:/dev/hda3/homeext3defaults,usrquota,grpquota12
看得出来只是在defaults后面加了usrquota,grpquota而已。
注意啊,是usrquota而不是userquota,若是错了,后果难以预料。
5]重启,在启动过程中会出错,主要是因为quota在/home目录下打不到aquota.user和aquota.group两个文件,没关系,咱们进了系统以再慢慢收拾它。
6]用root登录,然后我们生成aquota.user和aquota.group两个文件:
convertquota-u/home
convertquota–g/home
若以上步骤不出错的话,我们用ls/home–al就会看到aquota.user,aquota.group两
个文件了
7]再重启,注意观察,不会再出错了。进入系统后就可以对用户home目录进行限制了。比如现在有一个test用户,我们对他进行限制:
edquota–utest#此命令将进入一个vi编辑模式,其内容如下:
Filesystemblockssofthardinodessofthard
/dev/hda3000000
注解标识:ABCDEF
在讲解各参数之前先说说限制的两种方式:soft,hard
soft:又称软限制,当用户到达这个限制以后,系统会给予警告,但仍可写入。
hard:又称硬限制,到达这个限制,就完全禁止任何写入啦。
ABC为磁盘空间的限制设置,而DEF为总文件个数的限制
A:已使用空间,无需要设置
B:用户空间使用限制,为软限制,需要设置。
C:用户空间使用限制,为硬限制,需要设置。
D:已有文件总数,无需要设置。
E:文件总数限制,为软限制,需要设置。
F:文件总数限制,为硬限制,需要设置。
我们要限制test用户使用空间100M,最多不能超过120M,文件总数为2000个,
最多不能超过2500个,设置如下:
Filesystemblockssofthardinodessofthard
/dev/hda30102400122880020002500
注:空间限制是以k为单位的。
8]测试:进入自己的home目录,然后拷贝文件,若是超过120M,就不允许再写入了。
9]其它命令的使用:
复制相同调协至其它用户:
edquota–ptest–uusername1username2username3username4……
显示某个用户当前磁盘使用情况:
quota–vusername
显示所有用户当前磁盘使用情况:
repquota–a
其它的一些命令请参考相关资料。
九、FTP服务器:
Rh72自带了wu_ftp,但是由于其毛病不少,所以我们不用它,我们用性能及安全性能均优于它的proftpd来代替它。
1]下载软件:ftp://ftp.proftpd.org/distrib/sourc...pd-1.2.5.tar.gz
2]安装:
tarzxvfproftpd-1.2.5.tar.gz
cdproftpd-1.2.5
./configure–prefix=/usr/local/proftpd//指定安装在/usr/local/proftpd目录下
make
makeinstall
cpcontrib/dist/rpm/proftpd.init.d/etc/rc.d/init.d/proftpd
chmod700/etc/rc.d/init.d/proftpd
chkconfig–level3proftpdon//设置为系统自启动服务
cp/usr/local/proftpd/sbin/proftpd/usr/sbin//将proftpd拷至/usr/sbin目录下,让系
统能自动搜索到,也免得再去加一个搜索路径
3]配置/usr/local/proftpd/etc/proftpd.conf文件:
vi/usr/local/proftpd.conf
ServerName"XchenFTPserver"//服务器登录提示
ServerTypestandalone
DefaultServeron
Port21
Umask022
MaxInstances30
Usernobody
Groupnobody//原来为nogroup,请改成nobody
RequireValidShelloff//手动添加此名,重要
//限定test组用户只能访问自己的home目录,而不能向上浏览
DefaultRoot~test
//限定test组用户只能访问自己的/home/ftp目录,不能向上浏览
DefaultRoot~/ftptest
//限定music组用户只能访问/home/music目录,不能向上浏览
DefaultRoot/home/ftpmusic
//除music组中bb用户外都能访问/home/music目录,不能向上浏览
DefaultRoot/home/ftpmusic,!bb
//上面组需要自己建立:groupaddtest,gpasswd–ausernametest
ServerIdentoff//登录时不显示版本信息
<Directory/*>
AllowOverwriteon
</Directory>
<Anonymous/home/ftp>///home/ftp为匿名用户登录目录
Userftp
Groupftp
UserAliasanonymousftp
MaxClients10
DisplayLoginwelcome.msg
DisplayFirstChdir.message
<LimitWRITE>
DenyAll
</Limit>
</Anonymous>
4]启动服务:/etc/rc.d/init.d/proftpdstart
5]测试,在客户端用FTP软件或命令行FTP程序进行访问ftp.cx.com。
6]proftpd技岂只此,还有很多高级应用,请参考相关资料,这里就不多赘述。
十、WWW服务
www服务用apache来实现,步骤极其简单,当然,这里说的是初级应用。因为我们要实现的是简单的www服务,所以只需更改下面几个参数即可:
1]Vi/etc/httpd/conf/httpd.conf
ServerNamewww.cx.com
DocumentRoot”/var/www”
2]拷贝网页文件到/var/www目录
3]启动服务:/etc/rc.d/init.d/httpdstart
将httpd设置为系统自启动服务:chkconfig–level3httpdon
4]测试:在ie中用http://www.cx.com测试。
为什么把www服务讲得这么简单呢,主要是因为这种单一类型的网页文件服务用得较少,现在大多数都要用cgi,asp,php,还有数据库等,关于这方面配置还请参考相关资料,这里不作详解。
十一、动态域名服务
动态域名这个叫法不大妥当,应该叫动态ipfor域名才对。到现在为止,ftp和www服务我们都实现了,在局域网内可以用www.cx.com来访问,但是我们已经用ADSL连通了internet,我们怎样让外部访问我们的ftp,www服务器呢,总不成每都通知对方服务器的IP吧,所以就要用到动态域名服务,大致原理是每次ADSL拔号时将自身IP更新到外部DNS服务器数据库中所对应的那个域名,所以我们每次访问这个域名就可以了,在这里讨论一下www.3322.org提供的动态服务的实现。
1]登录www.3322.org网站,注册一个用户,并申请一个动态域名xxxx.3322.org。
2]下载linux客户端软件:
http://www.3322.org/dyndnspage/ez-i...-linux-i386.tgz
3]安装软件:
tarzxvfez-ipupdate-3.0.10-linux-i386.tgz
mvez-ipupdate-3.0.10-linux-i386/usr/local/ezip
4]编辑/usr/local/ezip/qdns.conf文件:
vi/usr/local/qdns.conf
service-type=qdns
user=username:password//用户名及密码,用冒号隔开
host=xxxxx.3322.org//你申请的域名
interface=ppp0//接口为ppp0
max-interval=2073600
cache-file=/tmp/ez-ipupdate.cache
5]将当前ip现新到我们申请的域名:
cd/usr/local/ezip
ez-ipupdate–cqdns.conf
系统会提示数据更新成功,好,我们来ping一下xxxx.3322.org,哈,果然是ppp0
的IP,再用http://xxx.3322.org试一下,一切OK,爽。
6]问题又来了,难道我们每次启动ADSL都要用手动更新一次吗,你可能会想到用crontab让它每隔几分钟更新一次,建议不错,不过为了ip更新而启用crond服务
似乎有点小题大做,我的方法,修改/usr/sbin/adsl-start脚本:
vi/usr/sbin/adsl-start
找到倒数25行”tty–s&&$ECHO“Connected!“,在其下增加一行:
/usr/local/ezip/ez-ipupdate–c/usr/local/ezip/qdns.conf
存盘退出,OK,我们让ADSL拔号完成以后自动更新,爽吧!
7]测试一下:
adsl-start
.Connected!
ez-ipupdateVersion3.0.10
Copyright(C)1999-2000AngusMackay.
connectedtomembers.3322.org(202.108.36.139)onport80.
requestsuccessful
OK,数据更新成功。
好,现在你随时随地都可以用xxxx.3322.org访问你的服务了,不错吧。
十二、openssh的设置
如果你在家里或者其它地方,怎样控制你的服务器,你可能会想到用telnet,本来是可以的,但是由于telnet用的是明码传输,容易给那些不怀好意者可乘之机,所以我们用openssh来代替telnet。
1]卸载原来的2.9x版,2.9x版有bug,不安全:
rpm–eopenssh
2]最新软件包下载:
ftp://ftp.openbsd.org/pub/OpenBSD/O...sh-3.4p1.tar.gz
3]安装软件:
tarzxvfopenssh-3.4p1.tar.gz
cdopenssh-3.41
./configure--prefix=/usr/local/ssh
--sysconfdir=/etc/ssh
--with-tcp-wrappers
--with-ipv4-default
--with-md5-passwords
make
makeinstall
注:安装完成以后,会自动生成主机密钥,还会提示需要sshd用户帐号,可用useradd加一个sshd用户。
install/contrib/redhat/sshd.pam/etc/pam.d/sshd
cpcontrib/redhat/sshd.init/etc/rc.d/init.d/sshd
chkconfig--level3sshdon;配置成系统服务
4]配置openssh之/etc/ssh/ssh_config文件
vi/etc/ssh/ssh_config
Host*
ForwardAgentno
ForwardX11no
RhostsAuthenticationno
RhostsRSAAuthenticationno
RSAAuthenticationyes
PasswordAuthenticationyes
BatchModeno
CheckHostIPyes
StrictHostKeyCheckingask
IdentityFile~/.ssh/identity
Port22
Cipher3des
EscapeChar~
5]配置openssh之/etc/ssh/sshd_config文件
vi/etc/ssh/sshd_config
Port22
ListenAddress0.0.0.0
ListenAddress::
HostKey/etc/ssh/ssh_host_key
HostKey/etc/ssh/ssh_host_rsa_key
HostKey/etc/ssh/ssh_host_dsa_key
KeyRegenerationInterval3600
ServerKeyBits768
SyslogFacilityAUTH
LogLevelINFO
LoginGraceTime600
#PermitRootLoginyes#还是不要让root直接登录为妙!
StrictModesyes
RSAAuthenticationyes
PubkeyAuthenticationyes
RhostsAuthenticationno
IgnoreRhostsyes
RhostsRSAAuthenticationno
HostbasedAuthenticationno
IgnoreUserKnownHostsno
PasswordAuthenticationyes
PermitEmptyPasswordsno
Subsystemsftp/usr/local/ssh/libexec/sftp-server
6]配置用户的加密密钥
useraddtest
passwdtest
sutest
ssh-keygen-d
出现提示请回车并输入passwd,再次输入passwd。
注:这个密码是系统加密运算时用到的,登录时还用原来密码。
7]启动服务
/etc/rc.d/init.d/sshdstart
8]在客户端用test帐号进行测试。
乱七八糟写了一大篇,也该收尾了,冰冻三尺非一日之寒,要多练多问多看多写,前进吧,朋友!