Linux安装和配置rsh/rexec/rlogin

2022-11-02  本文已影响0人  CodingCode

注意,在早期linux里面使用xinetd来管理这些工具,但是新的linux版本不再使用xinetd了:

$ service xinetd status
Redirecting to /bin/systemctl status xinetd.service
Unit xinetd.service could not be found.

会发现, xinetd服务都不存在了。

安装和配置rsh/rexec涉及两台机器,1:远程rsh/rexec服务器,2:本地rsh/rexec客户机;远程服务器需要安装和启动rsh/rexec服务端程序,启动服务监听端口,例如rsh使用端口514, rlogin使用端口513,rexec使用端口512,本地客户端需要安装rsh/rexec客户端程序。

服务器端安装

  1. 安装rsh, rsh-server
$ sudo yum install rsh
$ sudo yum install rsh-server
  1. 启动server端
$ sudo systemctl start rsh.socket
$ sudo systemctl start rlogin.socket
$ sudo systemctl start rexec.socket

设置自动启动

$ sudo systemctl enable rsh.socket
$ sudo systemctl enable rlogin.socket
$ sudo systemctl enable rexec.socket

这几个服务的定义分别是:

/usr/lib/systemd/system/rsh@.service
/usr/lib/systemd/system/rlogin@.service
/usr/lib/systemd/system/rexec@.service

查看状态:

$ systemctl status rsh.socket
$ systemctl status rlogin.socket
$ systemctl status rexec.socket

还可以查看端口监听情况:

$ netstat -an |grep -w LISTEN | grep -w 512
tcp6       0      0 :::512                  :::*                    LISTEN
$ netstat -an |grep -w LISTEN | grep -w 514
tcp6       0      0 :::514                  :::*                    LISTEN
  1. 修改rsh的认证信息

例如:
注意这行配置:auth sufficient pam_rhosts.so

$ cat /etc/pam.d/rsh
#%PAM-1.0
# For root login to succeed here with pam_securetty, "rsh" must be
# listed in /etc/securetty.
auth       required     pam_nologin.so
auth       required     pam_securetty.so
auth       required     pam_env.so
auth       sufficient   pam_rhosts.so
account    include      password-auth
session    optional     pam_keyinit.so    force revoke
session    required     pam_loginuid.so
session    include      password-auth
  1. 配置~/.rhosts信息

这个配置内容影响rsh/rlogin,用来实现无密码登录。

$ cat ~/.rhosts
#remotehost  remoteuser
+            <username>

其中"+"表示任意的意思,出现在host位置则是任意远程主机,出现在user位置则是任意远程用户。

这个文件有点绕,这里举一个例子:

  1. "~/"是谁,是服务器上的目标用户,就是想登录的用户,就是client端用-l指定的用户名。
  2. 这个"~/.rhosts"的内容是定义客户机和用户名,就是客户机上的这个用户名可以执行rsh命令。

例如:

$ hostname
<servermachine>
$ whoami
tom
$ cat ~/.rhosts
<clientmachine> jerry

表示:在客户机<clientmachine>上的用户jerry可以使用命令rsh -l tom <servermachine> <cmd>,这个命令不需要密码。

另外默认情况下rsh不允许root账号登录,如果要使用root则必须修改/etc/securetty

$ sudo echo "rsh" >> /etc/securetty
$ sudo echo "rlogin" >> /etc/securetty
$ sudo echo "rexec" >> /etc/securetty

客户端安装

  1. 安装rsh客户端
$ sudo yum install rsh
  1. 运行rsh
$ rsh -l <username> <remote-server> <command>
上一篇下一篇

猜你喜欢

热点阅读