IT Info & Tips/리눅스 & NAS Info

wetty에서 publickey 세팅시 invalid format 에러 대처법

도커 Docker에서 유용하게 쓸수 있는 이미지 중 하나인 wetty는 웹브라우져에서 SSH 터미널 기능을 구현해주는 서비스다. 흔히 사용되는 putty가 없을때 웹브라우저 만으로도 간단한 ssh 접속 환경을 구현해주기 때문에 편리하게 쓸수 있지만 사용상 주의할 점이 있다.

 

일반적으로 id/password 방식을 로그인에 사용한 쉘 접속 방식은 보안에 취약하고 외부 침입의 첫번째 타겟이 되는만큼 세팅할때 아예 password 입력 기능을 꺼버리고 publickey / privatekey 매칭으로 사용하는 경우가 많다. 서버에 퍼블릭 키를 업로드하고 접속하려는 클라이언트에만 프라이빗 키를 설치해주면 그외 기기에서는 접속이 불가능하기 때문이다.

 

널리 알려진 방식인만큼 wetty에서도 퍼블릭키를 통한 로그인 기능을 제공하지만 기존에 보유하고 있던 private key 를 인식하지 못한다는 단점이 있다. 보다 정확하게는 대부분 유저들이 사용하는 Putty에서 생성한 키를 바로 인식하지 못한다. 조금 검색해보니 LF 방식으로 저장되어야 하는데 Putty에서 인증키를 만들어주는 Puttygen의 기본 저장값이 CRLF 였던점이 문제인듯 하다. 

 

puttygen을 사용하면 쉽게 해결가능하다. 

 

위 이미지를 참고해서 putty key generator(puttygen)의 컨버전 메뉴를 통해 기존에 사용하던 인증키를 OpenSSH 형식으로 내보내기 하면 된다. 메모장에서 열어보면 LF 형식으로 저장되어 있음을 알수 있다. wetty에 적용해보니 위 에러 메시지 없이 정상적으로 작동되었다.

 

다만 wetty에서 이 방식을 사용해버리면 wetty 접속 주소만으로도 ssh 접속이 가능해져버리는 보안 구멍이 생겨버린다. 보안 때문에 적용한 인증키 방식이 오히려 보안 헛점으로 적용되는게 아이러니하다. 

 

어차피 도커나 포테이너에서 손쉽게 끄고 켤수 있는만큼 평소에는 wetty를 꺼두고 꼭 필요할때만 잠시 켜서 사용하도록 하자. 아니면 추가로 ssh에 보안을 적용하던지.

반응형