OS/Linux

SSH key접속시 password 계속 묻는 문제

아르비스 2016. 7. 28. 17:19

ssh rsa key를 이용하여 password 없이 설정 하는 방법은 많이 공유되어 있다.


하지만, 특정 계정에 대해서 ssh key를 설정(authorized_keys)를 권한에 맞도록 설정했지만, 안되는 경우가 발생했다.


반나절 동안 구글링과 모든 Guide 대로 해봤지만, 되지 않았다..


그러다 확인한 내용... 기나긴 여정을 참조용으로 남긴다.


* ssh 접속 상세 로그 보기

 : -v 옵션 사용하기, -vv / -vvv 까지도 사용가능함.


# ssh -v $user@host


위과 같이 시도하면, 어떻게 접속되는 내용을 debug로 알 수 있다.

만약 아래와 같이 에러가 난다면. 좀더 상세한 검토가 필요하다..

debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password

debug1: Next authentication method: gssapi-keyex

debug1: No valid Key exchange context

debug1: Next authentication method: gssapi-with-mic

debug1: An invalid name was supplied

Cannot determine realm for numeric host address


debug1: An invalid name was supplied

Cannot determine realm for numeric host address


debug1: An invalid name was supplied



debug1: An invalid name was supplied



debug1: Next authentication method: publickey

...

debug1: Next authentication method: password

$user@host's password:



이런경우. 해당 접속하려는 서버의 auth log를 확인해야 한다.

관련로그는 다음과 같다.

/var/log/secure or /var/log/auth.log


centos의 경우 

# vi /var/log/secure

Jul 28 17:14:36 cl-EFSS-linux15 sshd[4043]: Authentication refused: bad ownership or modes for directory /home/user

Jul 28 17:14:36 cl-EFSS-linux15 sshd[4043]: Authentication refused: bad ownership or modes for directory /home/user

 



위와 같이 나왔다.


해당 계정의 폴더 권한을 확인하니..

775로 설정되어 있었다..

푸하하하.


※ SSH 접속을 하려면, user 계정의 권한이 755를 초과한 설정은 안된다.

755이하로 설정하면 잘된다.


#chmod 755 $user


-  끝!