[HostUser@Host ~]$rsh Remote -l RemoteUser command :
表示Host主机的HostUser以RemoteUser身份敲门登录remote执行这个command,Remote会检查自身的RemoteUser根目录下的.rhosts列表,如果有”Host HostUser”这一行,就允许执行,以RemoteUser的权限
注意:.rhosts必须在RemoteUser目录下才有效
譬如:$rsh remoteHost ls (自身用户是oracle,这种情况就是ls dhcc-sxcnc主机oracle用户根目录)
#rsh remoteHost -l oracle ls (要求remoteHost的oracle用户下的.rhosts中必须有”Host root”)
有问题时:#tail -f /var/log/messages 查看连接日志
其中Host相当于执行终端,Remote相当于server
1,#rpm -qa|grep rsh 应返回
rsh-server-0.17-5
rsh-0.17-5
一般要安装rsh-server-0.17-****.rpm
这样才有下一步中的rlogin 、rsh 、rexec 文件
2,#cd /etc/xinetd.d
修改rlogin 、rsh 、rexec 文件,将 “disable = no”
#service xinetd restart
#netstat -an |grep 514查看,返回
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN
表明rsh服务器已经启动。
也可用#chkconfig –list |grep rsh ,正常返回
rsh: 启用 (或on)
3,修改 vi /etc/pam.d/rsh
修改行
auth sufficient pam_rhosts_auth.so no_hosts_equiv
结果如下:
auth required pam_nologin.so
auth required pam_securetty.so
auth required pam_env.so
auth sufficient pam_rhosts_auth.so no_hosts_equiv
account required pam_stack.so service=system-auth
session required pam_stack.so service=system-auth
4,在被连接端的用户根目录下新建.rhosts文件(各主机都应在hosts表中),写入允许登录和执行命令的机器名(ip)和用户身份
hostname username
譬如: aix oracle
aix root
注1:在Host端为了将/usr/bin目录放到/usr/kerberos/bin目录前面:export PATH=/usr/bin:$PATH
为长久生效的话,可放在.bashrc里。目的是优先用普通 rsh ,而非krb4 rsh
注2: 以root用户身份登录remote,除在root根目录新建.rhosts外还要
vi /etc/securetty 添加rexec、rsh、rlogin
注3:发现Host是windows系统时,不检查remoteUser下的.rhosts,可以直接执行rsh
注4: 解决出错:poll: protocol failure in circuit setup(此条未确认)
在本机/etc/sysconfig/iptables中增加:
-A RH-Firewall-1-INPUT -i eth0 -j ACCEPT
其中eth0是使用的网卡,可以通过ifconfig -a看
#system-config-securitylevel-tui -q -p login:tcp -p shell:tcp
相当于vi /etc/sysconfig/system-config-securitylevel()添加两行:
–port=513:tcp
–port=514:tcp
前提是防火墙开启(system-config-securitylevel中第一行是enable而非disable),开启防火墙用
system-config-securitylevel-tui
Post a Comment