当前位置: > Linux教程 > Linux学习 >

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

时间:2016-03-16 00:04来源:linux.it.net.cn 作者:IT

1. rsh和ssh的区别

 

     在很多的应用中,我们需要建立节点之间的信任关系,现阶段来看rsh使用的很少了,大部分还是使用ssh,不过有很多老点的机器还是使用rsh。简单来说,rshssh它俩之间的区别就是:ssh是使用密钥加密从而实现无密码登录的,具体来说就是在A主机生成一对密钥对,即公钥和私钥,我把公钥传递给B,然后等A链接B的时候,B会随机生成一个数来使用A提供的公钥进行加密,并将加密后的数字发送给AA采用自己的私钥解密,并将解密后的数字再传送给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*          # 这一步AB均需要

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文件

  将ABIP地址与主机名对应的写入到该文件,是为了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登录。



(责任编辑:IT)
------分隔线----------------------------