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
댓글