HamoniKR SSH Client는 원격 터미널 세션을 체계적으로 관리하고 반복 작업을 자동화하는 데 도움이 되는 무료 오픈소스 연결 관리자입니다.
- Upstream: Ásbrú Connection Manager 기반
- License: GPL-3.0
- Homepage: https://hamonikr.org
- 다양한 프로토콜 지원: SSH, Telnet, FTP, SFTP, RDP, VNC, Mosh 등
- 간단한 GUI: 원격 머신으로의 연결 관리 및 실행을 위한 직관적인 인터페이스
- 프록시 서버 지원: 프록시 서버를 통한 연결 기능
- 클러스터 연결: 여러 서버에 동시 연결 및 관리
- 탭/창 터미널: 탭 또는 별도 창으로 터미널 세션 관리
- 스크립팅 기능: SecureCRT와 유사한 스크립팅 가능
- 사전/사후 명령 실행: 연결 전후 로컬 명령 실행 설정
- 매크로 지원: 연결 시 실행할 명령 목록 설정
- Expect 조건부 실행: 연결된 머신에서 조건부 명령 실행
- SSH 인증서 자동 처리
- 다중 SSH 연결 체인
- 터널 자동 생성
- 라인 전송 지연 기능
- KeePassXC 통합: KeePass 데이터베이스 파일(.kdbx) 연동
- 다양한 인증 방식: 비밀번호, 개인키, 공개키 인증 지원
- 전역/로컬 변수: 비밀번호 중앙 관리 및 연결 문자열 재사용
- Gnome/GTK 통합: 원활한 데스크톱 환경 통합
- 시스템 트레이: 우클릭으로 빠른 연결 실행
- 테마 지원: 다양한 테마 선택 (기본, 다크, HamoniKR 테마 등)
- 다국어 지원: 한국어 포함 다국어 인터페이스
- Wake On LAN: 원격 머신 원격 깨우기
- 연결 통계: 연결 사용량 통계 및 스크린샷
- 검색 기능: 연결 목록에서 빠른 검색
- 백업/복원: 설정 백업 및 복원 기능
# HamoniKR APT 저장소 추가
wget -qO- https://repo.hamonikr.org/hamonikr.apt | sudo -E bash -
# 프로그램 설치
sudo apt install -y hamonikr-sshsudo apt-get update
sudo apt-get install -y \
perl libvte-2.91-0 libcairo-perl libglib-perl libpango-perl \
libsocket6-perl libexpect-perl libyaml-perl libcrypt-cbc-perl \
libcrypt-blowfish-perl libgtk3-perl libnet-arp-perl libossp-uuid-perl \
openssh-client libcrypt-rijndael-perl libxml-parser-perl \
libcanberra-gtk-module dbus-x11 libgtk3-simplelist-perl \
gir1.2-wnck-3.0 gir1.2-vte-2.91 ncat gettext debhelpersudo apt-get install -y keepassxc telnet ftp freerdp-x11 tigervnc-viewer mosh# 소스 코드 클론
git clone https://github.com/hamonikr/hamonikr-ssh.git
cd hamonikr-ssh
# 번역 파일 빌드 (선택사항)
cd po
make all
cd ..
# 직접 실행
./asbru-cm
# 또는 데비안 패키지 빌드
./build-for-hamonikr.sh# Docker 빌드 스크립트 실행
./build-with-docker.shHamoniKR SSH Client는 GNU gettext를 사용하여 다국어를 지원합니다.
- 번역 템플릿 생성:
cd po
make extract-pot- 새 언어 파일 생성 (예: 일본어):
msginit -l ja_JP.UTF-8 -o ja.po -i asbru-cm.pot --no-translator- 번역 파일 편집:
# ja.po 파일을 편집하여 번역 추가
nano ja.po번역 예시:
#: ../lib/PACConfig.pm:130
msgid "Default Global Options"
msgstr "デフォルトのグローバルオプション"- Makefile 업데이트:
LANGUAGES = ko ja
POFILES = ko.po ja.po- 번역 파일 컴파일:
make all- 설치 및 테스트:
make install
LANG=ja_JP.UTF-8 ../asbru-cmcd po
make update-po # 새로운 문자열을 기존 번역에 병합
# ko.po 파일 편집
make all # 컴파일default: 기본 테마system: 시스템 테마asbru-color: Ásbrú 컬러 테마asbru-dark: Ásbrú 다크 테마hamonikr: HamoniKR 전용 테마
- 테마 디렉토리 생성:
mkdir -p res/themes/my-theme- CSS 파일 생성:
cp res/themes/default/asbru.css res/themes/my-theme/asbru.css- 아이콘 복사 (선택사항):
cp res/themes/default/*.png res/themes/my-theme/
cp res/themes/default/*.svg res/themes/my-theme/- CSS 스타일 편집:
/* res/themes/my-theme/asbru.css */
button {
background: linear-gradient(to bottom, #your-color1, #your-color2);
color: #text-color;
border: 1px solid #border-color;
border-radius: 6px;
}
window {
background-color: #background-color;
color: #text-color;
}- 테마 활성화:
- 애플리케이션 실행 후
환경설정→스타일→테마에서 새 테마 선택
- GTK3 CSS 참조: GTK3 CSS 문서
- 기존 테마 참고:
res/themes/디렉토리의 다른 테마들 참조 - 실시간 테스트: 애플리케이션을 재시작하여 변경사항 확인
- CSS 선택자: 주요 UI 요소들의 CSS 클래스 이름 확인
프로젝트는 dev 브랜치에서 개발하고 master 브랜치에서 릴리즈를 관리합니다.
# dev 브랜치에서 실행
cd /path/to/hamonikr-ssh
# Patch 버전 증가 (예: 6.4.0 -> 6.4.1)
./scripts/release.sh patch
# Minor 버전 증가 (예: 6.4.0 -> 6.5.0)
./scripts/release.sh minor
# Major 버전 증가 (예: 6.4.0 -> 7.0.0)
./scripts/release.sh major
# 자동 확인 없이 patch 버전 증가
./scripts/release.sh -y
./scripts/release.sh patch --yes릴리즈 스크립트는 다음 작업을 자동으로 수행합니다:
-
사전 검사:
- dev 브랜치에서 실행 중인지 확인
- 커밋되지 않은 변경사항 확인
- master와 dev 브랜치 차이 확인
-
버전 업데이트:
lib/PACUtils.pm의APPVERSION업데이트- 버전 변경사항 커밋
-
릴리즈 실행:
- master 브랜치로 전환 및 업데이트
- dev 브랜치 머지
- 새 버전 태그 생성
- master 브랜치 및 태그 푸시
-
정리:
- dev 브랜치로 복귀
- master 변경사항 동기화
자동 스크립트를 사용하지 않는 경우:
# 1. 버전 업데이트
vim lib/PACUtils.pm # APPVERSION 수정
# 2. 변경사항 커밋
git add lib/PACUtils.pm
git commit -m "chore: bump version to v6.4.1"
# 3. master 브랜치로 머지
git checkout master
git pull origin master
git merge dev
git push origin master
# 4. 태그 생성 및 푸시
git tag -a v6.4.1 -m "Release v6.4.1"
git push origin v6.4.1
# 5. dev 브랜치 동기화
git checkout dev
git merge master
git push origin dev- 이 저장소를 포크합니다
- 기능 브랜치를 생성합니다 (
git checkout -b feature/amazing-feature) - 변경사항을 커밋합니다 (
git commit -m 'Add some amazing feature') - 브랜치에 푸시합니다 (
git push origin feature/amazing-feature) - Pull Request를 생성합니다
- dev 브랜치: 모든 개발 작업
- master 브랜치: 안정적인 릴리즈 버전
- feature 브랜치: 새로운 기능 개발
- hotfix 브랜치: 긴급 버그 수정
이 프로젝트는 GPL-3.0 라이선스 하에 배포됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
- 이슈 리포트: GitHub Issues
- 문서: 프로젝트 문서
- 커뮤니티: HamoniKR 커뮤니티
- Upstream: Ásbrú Connection Manager
- HamoniKR OS: https://hamonikr.org

