본문 바로가기
Old Posts/Linux

[Linux] rlogin 명령어 설치 및 사용법

by A6K 2022. 5. 13.

rlogin은 Remote Login의 약자로 호스트에 원격으로 로그인할 때 사용하는 명령이다. 호스트로 로그인 할 때, 아이디와 패스워드 등을 이용하는게 아닌 IP나 도메인 이름을 이용해 신뢰 관계를 맺는다. 특정 호스트에서 편하게 원격 로그인을 할 수 있지만 ip spoofing에 취약하다.

rlogin을 비롯한 rsh, rcp 같은 r-계열의 명령에서는 두 호스트가 신뢰하고 있다는 것을 /etc/hosts.equiv, $HOME/.rhosts 등에 정보를 기록해 두는 것으로 표현한다. (/etc/hosts.equiv는 시스템 전체에 영향을 주는 파일이고, $HOME/.rhost 는 각 사용자별로 설정하는 파일이다)

rlogin, rsh 설치 및 설정

$ sudo yum install rsh-server

rsh-server를 설치하면 rlogin, rsh, rexec 모두 설치된다.

$ sudo rpm -qa | grep rsh
rsh-0.17-80.el7.x86_64
rsh-server-0.17-80.el7.x86_64

rpm -qa 명령을 이용해서 잘 설치되었는지 확인한다.

이제 시스템 부팅시 자동으로 실행되도록 설정하자.

# default: on
# description: rlogind is the server for the rlogin(1) program.  The server \\
#       provides a remote login facility with authentication based on \\
#       privileged port numbers from trusted hosts.
service login
{
        socket_type             = stream
        wait                    = no
        user                    = root
        log_on_success          += USERID
        log_on_failure          += USERID
        server                  = /usr/sbin/in.rlogind
        disable                 = no
}

/etc/xinetd.d/rlogin과 /etc/xinetd.d/rsh에서 disable=no로 설정한다.

혹은 다음 명령어로도 활성화 할 수 있다.

$ sudo chkconfig rsh on # 또는 chkconfig --level 35 rsh on
$ sudo chkconfig rlogin on # 또는 chkconfig --level 35 rlogin on

xinetd 를 재시작한다.

$ sudo service xinetd restart

rlogin 호스트 등록

이제 rlogin을 허용할 신뢰할 만한 호스트 정보를 설정해줘야 한다. rlogin을 할 계정의 홈 디렉토리에 .rhosts 파일을 생성한다.

$ cd ~
$ vi .rhosts

# 접속을 허용할 호스트의 IP 주소 혹은 도메인 네임을 입력

$ chmod 600 .rhosts # 리눅스 보안 요건을 맞추기 위해 퍼미션 수정
$ vi /etc/hosts.equiv

# 마찬가지로 접속을 허용할 호스트의 IP 주소 혹은 도메인 네임을 입력

root 계정의 경우 /etc/hosts.equiv 파일의 영향을 받지 않는다고 한다. 따라서 .rhosts 파일에 등록되어 있는 호스트만 접속이 허용된다.

주의할 점은 이 파일들이 ‘+ +’ 문자열이 추가되어 있다면 아무런 보안 장치 없이 아무나 로그인 할 수 있게 열어두겠다는 의미다. 따라서 보안에 취약해 진다.

로그인 인증파일 수정

로그인 인증 파일을 수정해야한다. 다음 파일을 열어보자

$ sudo vi /etc/pam.d/rlogin
$ sudo vi /etc/pam.d/rsh

그 중 다음 세 항목의 설정을 required에서 sufficient로 변경한다.

auth sufficient pam_nologin.so
auth sufficient pam_securetty.so
auth sufficient pam_env.so

그런 다음 root 유저가 로그인할 수 있는 프로토콜을 추가해준다.

$ sudo vi /etc/securetty
vc/10
vc/11
tty1
tty2
tty3
tty4
tty5
rsh
rlogin

rlogin 실행

테스트로 rlogin을 실행해보자.

$ rlogin 172.1.1.3

만약 Permission denied 에러가 발생한다면, /etc/ssh/sshd_config 파일에서 PermitRootLogin yes로 변경하고 /etc/init.d/sshd restart를 해서 재시작 해보자.

rlogin에 사용할 수 있는 대표적인 옵션은 다음과 같다

  • -t ttytype : tty 타입을 지정한다
  • -l username : 접속할 사용자 계정을 지정한다.

관련글

 

리눅스 명령어 사용법들

리눅스 명령어 사용법 ifconfig 네트워크 인터페이스 설정관련 ls 디렉토리 엔트리 정보 출력

hbase.tistory.com

 

댓글