원격에서 시스템을 접근할 때는 사용자 이름과 패스워드를 입력해야 한다.
원격 시스템의 /etc/passwd에 해당 계정이 없으면 접근 불가.
◆ 패스워드 없이 원격 시스템에 접근하는 방법
- /etc/hosts.equiv (루트를 제외한 모두)
- $HOME/.rhosts (루트를 포함한 특정 계정)
1번 서버에서 2번 서버로 원격접속 하고 싶을 때 2번 서버의 암호를 알아야 하는데 매번 입력하기가 귀찮다면 2번 서버에 /etc/hosts.equiv 파일 안에 1번 서버의 정보(서버이름 허용할계정이름)를 넣어두면 된다.
서버이름에 +를 쓰면 모든 서버에서 들어오는 접속을 허용함.
허용할 계정 이름에 +를 쓰면 해당 서버에서 들어오는 모든 계정을 다 허용함.
$HOME/.rhosts파일의 단점은 1번 서버에서 server100계정으로 2번 서버에 접속하는데, 2번 서버는 server100계정이 없다면 당연히 server100의 홈디렉토리도 없을테고 그 안에 .rhosts파일도 만들 수 없으므로 접속이 불가능하다. 그때는 2번 서버의 /etc/hosts.equiv 파일에 server100에 대한 정보를 넣어두면 된다.
# ssh oracle@172.16.4.118 // ssh로 oracle계정으로 172.16.4.118에 접속
# rlogin 172.16.4.118 // rlogin으로 172.16.4.118에 접속
# rlogin 172.16.4.118 // rlogin으로 172.16.4.118에 접속
■ /etc/hosts.equiv
루트 사용자는 영향을 받지 않는다.
/etc/hosts 파일에 시스템의 이름이 존재해야 한다.
○ 관련 필드 옵션
Hostname field | Username field | Description |
host100 | host100에서 작업중인 사용자가 hostA에 있는 계정과 동일한 경우에만 신뢰 | |
host200 | user100 | host200에 있는 user100만 hostA에 접근 가능 |
host300 | + | host300에 있는 모든 사용자는 hostA에 접근 가능 |
+ | 모든 시스템에 있는 사용자가 hostA에 있는 계정과 동일한 경우에만 신뢰 | |
+ | user200 | 모든 시스템에 있는 user200만 hostA에 접근 가능 |
-host400 | host400에 있는 사용자는 hostA에 접근 불가능 | |
host500 | -user300 | host500에 있는 사용자 중 user300만 접근 불가능 (단 나머지는 동일한 이름으로 접근해야만 가능) |
■ $HOME/.rhosts
루트 사용자를 포함한 모든 사용자를 신뢰하는 용도.
즉, 일반계정은 /etc/hosts.equiv에 하면 되고, 루트계정은 /.rhosts에 하면 된다.
/etc/hosts.equiv에서 거부되더라도 $HOME/.rhosts에서 신뢰하면 접근 가능
$HOME 디렉토리를 홈으로 가지는 사용자 한명에게만 적용
PuTTY로 솔라리스에 처음 루트로 로그인 접속 안될 때
# /etc/ssh/sshd_config -> PermitRootLogin no -> yes
# /etc/init.d/sshd stop -> start 또는 # svcadm restart ssh (솔라리스10)
# /etc/init.d/sshd stop -> start 또는 # svcadm restart ssh (솔라리스10)
'운영체제 > 솔라리스' 카테고리의 다른 글
[솔라리스] 장치 구성 (0) | 2010.07.20 |
---|---|
[솔라리스] 응급복구 (Single user mode) (0) | 2010.07.18 |
[솔라리스] UID와 GID, EUID와 EGID, setuid와 setgid 및 sticky bit (0) | 2010.07.17 |
[솔라리스] 서버 보안 (0) | 2010.07.17 |
[솔라리스] 그룹 관리 관련 명령어 (0) | 2010.07.17 |