您的位置:首页 > 运维架构 > Linux

Linux下rsh服务配置,root用户和普通用户

2013-03-08 16:14 330 查看
1. rsh和ssh的区别

 

     在很多的应用中,我们需要建立节点之间的信任关系,现阶段来看rsh使用的很少了,大部分还是使用ssh,不过有很多老点的机器还是使用rsh。简单来说,rsh和ssh它俩之间的区别就是:ssh是使用密钥加密从而实现无密码登录的,具体来说就是在A主机生成一对密钥对,即公钥和私钥,我把公钥传递给B,然后等A链接B的时候,B会随机生成一个数来使用A提供的公钥进行加密,并将加密后的数字发送给A,A采用自己的私钥解密,并将解密后的数字再传送给B,等B校验A传来的数字和刚开始生成的数字相符时,就允许A登录,这就是ssh无密码登录的原理。而rsh是使用明文传输,没有密钥的机制,总的来说就是他们的安全级别不够。Ssh要比rsh更安全一些。

 

     Ssh配置无密码登录,请参考:

     http://blog.csdn.net/houqingdong2012/article/details/8544517

 

   2. Rsh设置主机之间无密码登录

 
root用户配置:
1. A与B均安装需要的软件:
   rsh.x86_64
   rsh-server.x86_64
   Yum安装:yum -y install rsh*          # 这一步A、B均需要
2. 检查是否安装成功
   rpm -qa | grep rsh 
3. 启动并查看rsh服务
   service xinetd restart 
   netstat -tupln | grep xinetd              # 出现如下监听端口说明启动成功
 [root@RedHat01 security]# netstat -tunpl| grep xinetd 
tcp        0      0 :::512                      :::*                        LISTEN      3593/xinetd         
tcp        0      0 :::513                      :::*                        LISTEN      3593/xinetd         
tcp        0      0 :::514                      :::*                        LISTEN      3593/xinetd    
4. 配置/etc/hosts文件
  将A和B的IP地址与主机名对应的写入到该文件,是为了DNS能解析成功:
  [root@RedHat01 security]# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.171.138 RedHat01              # A
192.168.171.136 RedHat02              # B
   查看一下是否可以解析:ping RedHat01
5. 配置/etc/hosts.equiv (若没有该文件请自行建立)
   这一步主要是将对方的主机名写进去。
   A机器/etc/hosts.equiv的内容为:RedHat02 
   B机器/etc/hosts.equiv的内容为:RedHat01
   注:这里是允许对方机器上的所有用户,如果只允许root就写 RedHat02 root 
6. 配置/root/.rhosts文件(自行建立)
   和上一步一样,把彼此的主机名写进去
   A机器/root/.rhosts的内容:RedHat02
   B机器/root/.rhosts的内容:RedHat01
7. 修改/etc/xinetd.d/rsh|rlogin|rexec文件,将 disable = yes 该为 disable = no 
8. 修改/etc/securetty文件,添加:rsh   rexec   rlogin 
   也可以执行:  echo "rsh" >> /etc/securetty ; 
                 echo "rexec" >> /etc/securetty ;
                 echo "rlogin" >> /etc/securetty ;
  注:这一步非常重要,如果想要root登录不需要密码,必须要在这个文件里面输入上面的内容。至于这个文件的作用会在下面讲解。
9. 重启服务
   service xinetd restart 
10. 测试:rsh RedHat02    

no-root(普通用户配置)

普通用户的配置和上面差不多,有几点区别指出:
上面的第6步:

需要在该用户的目录下创建.rhosts文件,输入的内容是一样的。

例如用户rshtest 就需要在 /home/rshtest/ 下创建.rhosts文件
上面的第8步:

作为普通用户的配置,将这一步省略也可以成功。亲自实践。
注意:

作为普通用户在AB之间互相登录,AB上普通用户的用户名必须是相同的,我自己在做实验的时候曾经因为用户名不同,费了好长的时间才找到原因。即:

A机器上有普通用户:mytest      那么响应的

B机器上也要有普通用户:mytest 

用rsh登录到另一台主机,他是在另一台主机上以相同用户的身份来执行操作,这也就是为什么必须有相同的用户名的原因了。
 

补充:

 

我们主要来说一下:/etc/securetty文件的作用:

 

/etc/securetty文件规定root用户可以从哪个tty设备登录。登录程序(通常是“/bin/login”)需要读取“/etc/securetty”文件。它的格式是:列出来的tty设备都是允许登录的,注释掉或是在这个文件中不存在的都是不允许root登录的。 
 
把这个文件改名、或注释掉里面的文件,不会影响ssh的应用,因为ssh远程登录使用的是PTS,这个文件可以阻止telnet,rsh , 通过root登录。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: