在RH9中,sshd是不属于xinetd管辖的一项service,但是,xinetd可以配置一些简单的ACL,所以,如果我们希望某些IP可以用ssh登录,某些IP不能通过ssh登陆的话,那就可以将sshd配置进入xinetd,这样,非常方便的就可以实现简单的访问控制。操作如下: 

1、首先,关闭sshd进程-/etc/init.d/sshd stop 

2、chkconfig sshd off ,将sshd从启动中去掉,因为将来随着xinetd的启动,sshd就会启动 

3、在/etc/xinetd.d目录下,创建一个文件ssh,编辑该文件,填入以下内容: 

service ssh 

socket_type = stream 
wait = no 
user = root 
server = /usr/sbin/sshd 
port = 22 
server_args = -i 
disable = no 
only_from = 192.168.0.10 


如上,我们只允许192.168.0.10登录,其他的都不允许。only_from的值可以使用多种形式,如192.168.0.0表示192.168.0这个网段的所有IP,192.168.0.{1,2,3} 表示1、2、3这三个IP。多个IP之间用空格隔开,或者可以写多行only_from,更具体的请看man xinetd.conf 里面的内容和最后的example 

4、然后/etc/init.d/xinetd restart就生效了,下次重启后我们的ACL的ssh就实现了! 

注:之所以能在/etc/xinetd.d目录下创建一个文件就让xinetd多管一个service,是因为/etc/xinetd.conf文件的最后一行 includedir /etc/xinetd.d ,这行配置告诉xinetd去include该目录下的所有配置