美文网首页
Linux安装和配置rsh/rexec/rlogin

Linux安装和配置rsh/rexec/rlogin

作者: CodingCode | 来源:发表于2022-11-02 03:04 被阅读0次

    注意,在早期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>
    

    相关文章

      网友评论

          本文标题:Linux安装和配置rsh/rexec/rlogin

          本文链接:https://www.haomeiwen.com/subject/kcmstdtx.html