서버-서버 간의 SSH 접속을 위해 다음 명령어를 사용하여 접속을 시도하게 됩니다.
[user@localhost ~]$ ssh myaccount@192.168.##.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 접속 명령어를 다시 사용하여 인증을 다시 시도합니다. 더 이상 보호되지 않은 키 파일 경고 메세지가 발생하지 않을 것입니다.
Xcode에서 iOS 애플리케이션을 빌드(Archive)하고 App Store Connect에 앱을 업로드하는 도중, 아래와 같은 에러가 발생하면서 더…
INSTALL_FAILED_INSUFFICIENT_STORAGE 문제 안드로이드 스튜디오에서 에뮬레이터를 실행하고 개발중인 애플리케이션을 실행하려 하면 로그 창에 아래와 같이 표시되면서…
리눅스 명령어 - kill, killall 리눅스 kill 명령어는 특정 프로세스를 종료해주는 명령어입니다. 백그라운드에서 실행되고 있는…
JavaScript는 역사가 긴 스크립트 프로그래밍 언어입니다. 세월이 흐르면서 많은 자바스크립트 표준이 만들어졌고, 현재는 많은 문법적…
NodeJS 테스트 프레임워크인 Mocha는 비동기 테스트를 지원합니다. 간혹 특정 테스트 스크립트를 작성하고 실행하면 아래와 같이…