SW개발/우분투 리눅스

ssh 연결시 "Bad owner or permissions on /home/user/.ssh/config" 발생시 해결 방법

공무원 봉급 2022. 5. 20. 10:06

우분투 리눅스가 설치된 PC들을 여러대 사용하고 있습니다. ssh 연결을 통해서 여러대의 PC들에 원격 접속해서 이런 저런 작업들을 진행하기도 하고 틈틈히 공부도 하고 있습니다. 수 없이 사용했던 ssh로 다른 PC에 접속을 시도하려는데 아래와 같은 생경한 에러 메시지가 발생하였습니다.

 

문제 현상

$ ssh 192.168.0.4
Bad owner or permissions on /home/user/.ssh/config

 

문제 검토

잘못된 소유자거나 잘못된 권한이라는 불친절한 메시지를 보고, ls -all 명령으로 해당 파일의 권한을 확인해 보았습니다.

$ ls -all /home/user/.ssh/config
-rw-rw-r-- 1 user user 60 Mar  5 04:04 /home/user/.ssh/config

 

해당 파일의 owner도 정상이고, 퍼미션도 문제가 없고, 실제로 cat 명령으로 해당 파일의 내용을 확인할 수도 있었습니다.

$ cat ~/.ssh/config
Host github.com
  IdentityFile ~/.ssh/id_xxxxxxx
  User git

 

문제 해결

과연 왜 이런 일이 저에게 일어나게 된 것일까요? 구글링을 통해서 확인해본 바로는 보안상의 문제가 아닌가 싶습니다. 해당 파일의 권한이 664로 되어 있었는데, 이것을 600으로 변경해주니까 정상적으로 ssh를 실행시킬 수 있었습니다.

$ chmod 600 ~/.ssh/config

아마도 해당 파일을 그룹 내 다른 사용자나 제 3의 계정에서 파일 내용을 볼 수 없도록 하기 위한 보안 기능으로 추정됩니다. 아래의 소스 코드를 보시면 궁금증이 시원하게 해결이 됩니다.

 

소스 코드 참조

위의 read_config_file_depth() 함수를 살펴보면 파일의 퍼미션에 그룹이나 other 권한이 있을 경우 "Bad owner or permissions on" 이라는 에러를 띄우도록 되어 있네요.

 

아래 링크로 들어가시면 소스 코드를 살펴보실 수 있습니다.

https://github.com/openssh/openssh-portable/blob/c25c84074a47f700dd6534995b4af4b456927150/readconf.c#L2257

 

GitHub - openssh/openssh-portable: Portable OpenSSH

Portable OpenSSH. Contribute to openssh/openssh-portable development by creating an account on GitHub.

github.com

 

참고 링크

관련 내용은 아래의 사이트에서 얻었습니다.

https://serverfault.com/questions/253313/ssh-returns-bad-owner-or-permissions-on-ssh-config

 

ssh returns "Bad owner or permissions on ~/.ssh/config"

When I try to ssh to another box, I get this strange error $ ssh hostname Bad owner or permissions on ~/.ssh/config But I made sure that I own and have rw permissions on the file: ls -la ~/.ssh/...

serverfault.com

 

이상입니다.