WARNING: UNPROTECTED PRIVATE KEY FILE! 문제
서버-서버 간의 SSH 접속을 위해 다음 명령어를 사용하여 접속을 시도하게 됩니다.
[user@localhost ~]$ ssh [email protected].##.11 -i /home/user/myprivatekey
여기서 myprivatekey
라는 파일명의 개인 키로 접속할 서버에 대해 공개 키 인증을 시도할 때 다음 에러 메세지가 발생하면서 인증 시도에 실패하는 문제가 나타날 수 있습니다.
The authenticity of host '[192.168.###.10]:22 ([192.168.###.11]:22)' can't be established. ECDSA key fingerprint is SHA256:wqbG1vk2nvoxjztuiajvDnmwq/vs/bJNFmwnaxf2VXY. ECDSA key fingerprint is MD5:5f:5b:00:00:00:30:d1:1e:00:00:00:00:00:00:00:00. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '[192.168.###.11]:22' (ECDSA) to the list of known hosts. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0744 for '/home/user/myprivatekey' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. Load key "/home/user/myprivatekey": bad permissions Permission denied (publickey).
192.168.###.10
서버에서 192.168.###.11
서버로 접속하면서 /home/user/
디렉토리에 있는 myprivatekey
파일을 참조하려 했습니다.
여기서 myprivatekey
파일은 OpenSSH 형식의 개인 키(Private Key) 파일이며 파일 자체에는 별다른 문제가 없습니다.
그러나 OpenSSH 클라이언트는 ‘보호되지 않은 개인 키 파일’ 이라는 오류를 출력하게 되었는데요.
문제 원인과 해결 방법
이 문제는 다름아닌 개인 키 파일의 권한에 대한 잘못된 설정으로 발생하는 경고이자 오류 메세지입니다.
위 에러에서 확인 되는 myprivatekey
파일의 권한은 744(rwxr--r--)
이며 이는 파일의 소유자 외에 그룹과 기타 사용자에게 읽기 권한을 부여한다는 것입니다. 이렇게 되면 보안 문제가 발생할 수 있으므로 소유자가 아니면 읽지도 쓰지도 못하도록 권한을 변경해주어야 합니다.
다음과 같이 chmod
명령어를 실행하여 myprivatekey
파일의 권한을 700(rwx------)
또는 600(rw-------)
으로 변경해줍니다. 600으로 변경해도 인증에 큰 지장이 없으므로 가능하면 권한을 최소한으로 설정합니다.
[user@localhost ~]$ chmod 600 myprivatekey
이제 상단의 SSH 접속 명령어를 다시 사용하여 인증을 다시 시도합니다. 더 이상 보호되지 않은 키 파일 경고 메세지가 발생하지 않을 것입니다.