시스템/이것저것개발

Web SSH Portal

달빛궁전- 2026. 7. 15. 01:03

사이드 프로젝트로 SSH 웹 포털을 만들었습니다.

홈서버와 클라우드 서버, 도커가 점점 늘어나면서, 매번 터미널 앱 켜고 접속 정보 찾는 게 귀찮아 졌습니다.

정확히는 한차례의 소동때문이었는데, 테슬라메이트 잘 쓰다가, 갑자기 안되어서 보니 업데이트로 방식이 바뀌었고 3주나 데이터를 못받았습니다.

그래서 접속정보를 찾는데, 한서버가 뚫리면 다 뚫리는걸 방지 한다고 서버마다 id, password를 다르게 했고, 키파일은 또 데스크탑에다가만 넣는데, 지금 육아때문에 데탑을 저기 저 구석에 넣어놓은지라 접속하는데 한 세월이 걸렸네요 ㅠㅠ

그래서 브라우저에서 바로 SSH 접속할 수 있는 걸 만들기로 했습니다.
Antigravity를 사용하여 개발을 진행했습니다.

동작화면은 아래와 같습니다. 

 

  • 메인화면 

 

  • 서버 리스트 확인

 

  • 서버접속 화면

기술 스택은 Node.js + WebSocket으로 SSH 프록시를 만들고, xterm.js로 터미널 에뮬레이터를 붙였습니다. 

Docker 로 사용가능합니다. 

 

주요 기능

  • 서버를 등록해 두고 클릭 한 번으로 웹 터미널 접속
  • 서버 그룹화 + 접기/펴기로 여러 대도 정리해서 관리
  • IP만 넣으면 SSH 배너 분석 후 자동 접속해서 CPU, 메모리, 디스크, OS 정보를 긁어옴
  • PBKDF2 SHA-512 해시 + HttpOnly 쿠키 기반 로그인
  • 모바일 반응형 + PWA 지원 (홈 화면에 앱으로 설치 가능)

 

기획하고 실제 서버 환경에서 테스트 하면서 만들었는데, 처음엔 간단하게 시작했는데 쓰다 보니 자꾸 추가하고 싶은 게 생기더라고요.

보안 로그인, 모바일 대응, 시스템 정보 수집, Docker 단일 배포... 하다 보니 꽤 커졌습니다.

 

Docker만 있으면 바로 쓸 수 있습니다.
아래 Github에서 다운 및 설치가 가능합니다.

https://github.com/SeongGi/web-ssh

 

GitHub - SeongGi/web-ssh

Contribute to SeongGi/web-ssh development by creating an account on GitHub.

github.com