원격에서 시스템을 접근할 때는 사용자 이름과 패스워드를 입력해야 한다.
원격 시스템의 /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에 접속

 


■ /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)
Posted by 겨울섬
,