JetBrains 제품에서 SSH 연결 시 개인 키를 사용할 수 없는 경우 임시 조치

이 기사는 macOS 10.14(Mojave) 이상, Xcode 10.1, PhpStorm 2018.3.3을 이용한 환경에서 쓰고 있습니다.

(JetBrains 제품 2019.2 이상에서 이 문제가 해결되었습니다. (2019년 10월 4일 업데이트))

만나서 반갑습니다. 안녕하세요.
최근 MacBook Pro를 교체하고 우키우키하면서 개발하고 있습니다.

새로운 PC는 새로운 환경에 전부 리셋 해 이치로부터 환경 구축하려고 생각해, 신규에 인스톨 하거나, 여러가지 설정 재설치하고 있던 곳, 게시제의 문제에 맞았으므로 공유합니다.

무슨 일이 있었는지



수중의 환경에서 ssh-keygen 로 생성한 비밀열쇠가,PhpStorm(2018.3.3)상에서는 열쇠의 포맷이 올바르지 않다고 말해져 사용할 수 없어, IDE상으로부터 개발 환경에 접속할 수 없게 되었습니다.


결론



먼저 결론을 쓰면, 접속에 사용하는 키 페어 생성시에 -m PEM 옵션을 지정해 생성해, 그 키 페어를 사용한다.
ssh-keygen -t rsa -b 2048 -m PEM

왜 못했는지



OpenSSH 7.8 이상에서 키 파일을 생성할 때 기본적으로 OpenSSH 형식의 키 파일이 생성되는 것 같습니다.

【OpenSSH 7.8】 비밀키를 생성하는 형식이 변경된 건에 대해 | DevelopersIO

무슨 일이야



지금까지 ssh-keygen 명령으로 공개 키/개인 키를 생성하는 경우 기본값은 PEM 형식으로 출력되었습니다.
열쇠 파일의 외형으로서는 아래와 같이 됩니다.

~/.ssh/id_rsa.pem
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----

이것이,

~/.ssh/id_rsa
-----BEGIN OPENSSH PRIVATE KEY-----
...
-----END OPENSSH PRIVATE KEY-----

라고 하는 포맷으로 되어 있어, 이 포맷에는 게시제품은 현시점(2019/01/28 현재)에서는 미대응인 것 같아, 올바르게 인식되지 않는 것 같습니다.

이 문제에 대해서는 이미 Issues에도 올라가 있어 향후 대응될 가능성도 있습니다.
Support OpenSSH format private keys : PY-33521

향후 업데이트에서 지원되기를 바랍니다 :)
2019.2.3 현재이 문제는 해결되었습니다. (2019년 10월 4일 현재)

문제를 확인한 환경



내가 이번 문제에 맞았을 때의 환경은 macOS 10.14 (Mojave), Xcode 10.1을 이용하고 있었습니다.
Xcode 10.1의 Command Line Tools는 OpenSSH 7.9로, 키 페어 생성시 옵션을 지정하지 않고 기본적으로 생성하면이 문제에 해당했습니다.
% ssh -V
OpenSSH_7.9p1, LibreSSL 2.7.3

감사의 말



이 문제에 해당했던 곳, Twitter에서 에서 @ 유스케 씨 상기 Isues를 가르쳐 주셨습니다. 고마워요.

좋은 웹페이지 즐겨찾기