사용자의 SSH 세션에 타이핑할 수 있는 AI는 유용합니다. 하지만 아무런 질문 없이 운영 환경(production) SSH 세션에 타이핑할 수 있는 AI는 이야기가 다릅니다.
AI-SSH-Pro는 터미널 옆에 AI 운영 보조 기능이 도킹된 오픈 소스 SSH 데스크톱 클라이언트입니다. 이 보조 기능은 위험 등급 레이블과 함께 명령어를 제안하며, 사용자는 얼마나 많은 자율성을 부여할지 선택합니다. 이 선택이 바로 **AI 실행 정책(AI execution policy)**이며, 이는 설정(Settings), 각 호스트의 안전 카드(Safety card), 그리고 현재 탭 전체에 걸쳐 일관되게 유지되는 세 가지 수준입니다.
AI execution policy in Settings → AI
스크린샷은 영어 UI와 적용 가능한 내장 데모 호스트를 사용합니다. 데모의 일부 샘플 AI 답변은 중국어일 수 있습니다.
세 가지 정책 한눈에 보기
| 정책 | 읽기 전용 / 낮은 위험도 (low risk) | 중간 위험도 (medium risk, 쓰기/재시작 포함) | 높은 위험도 (high risk) |
|---|
| 제안만 (Suggest only) | 실행 가능할 수 있음 | 제안으로만 표시됨 — 사용자가 복사하거나 직접 입력해야 함 | 제안만 |
| ... | | | |
| 위험 등급 레이블(낮음 / 중간 / 높음)은 모든 제안된 명령어 블록에 복사(Copy) / 실행(Run) 옆에 위치합니다. 이 정책은 위험을 만들어내지 않으며, 레이블이 지정된 명령어가 사용자 없이 실행될 수 있도록 허용할지 여부를 결정합니다. | | | |
설정하는 곳
정책은 세 군데에서 설정할 수 있습니다. 클라이언트는 사용자가 어느 계층에 있는지 추측하지 않도록 탭당 하나의 유효(effective) 정책을 계산합니다.
- 설정(Settings) → AI: 새 세션의 전역 기본값입니다.
- 호스트 안전 카드(Host Safety card): 호스트별 기본값 (및 보호 수준: 일반/운영 환경/읽기 전용).
- 탭 정책 메뉴(Tab policy menu) (입력 행): 이 연결에만 임시로 재정의됩니다. 메모리에 존재하며 연결 해제 시 초기화됩니다.
Host Safety card: protection level and AI policy
호스트가 Read-only인 경우, Safety 카드에는 _"실제 적용: 제안만 (read-only 보호 기능에 의해 제한됨)"_와 같은 내용이 표시됩니다. 즉, UI는 메인 프로세스가 실제로 허용할 내용을 반영합니다.
시나리오 1: 노트북 / 점프 박스 / 학습
임시 VM 또는 내장된 **데모 호스트(demo host)**에서는 학습 과정에서 마찰이 발생하기 쉽습니다. 자동 실행(Auto run) (또는 가볍게 확인)을 사용하면 _"리스닝 포트를 보여줘"_와 같이 요청하고 매번 클릭할 필요 없이 ss 출력을 확인할 수 있습니다.
여전히 유용한 습관들:
- 고위험 작업은 프롬프트 뒤에 남겨두기 (Auto run이 이미 처리함).
- 컨텍스트를 다시 타이핑하는 대신, 로그가 열려 있을 때 질문에 터미널 출력을 첨부하는 것을 선호하기.
데모 호스트는 시뮬레이션된 것이므로, 정책 UI를 학습하면서 자유롭게 Run을 클릭해 볼 수 있습니다.
시나리오 2: 스테이징(staging)
스테이징 환경은 대부분의 팀이 **실행 전 확인(Confirm before run)**을 원하는 곳입니다. 진단 작업(systemctl status, 로그에 대한 tail, ss, journalctl)은 마찰 없이 진행됩니다. 재시작이나 설정 편집은 클릭을 기다립니다.
Confirm dialog before an AI-proposed command runs
일반적인 흐름:
- 사용자가 증상을 설명하거나 (또는 터미널 출력을 첨부합니다).
- 어시스턴트가 **위험도: 낮음(Risk: low)**으로 표시된 read-only 명령을 반환하며, 이는 Confirm 하에서 실행될 수 있습니다.
sudo systemctl restart …와 같이 중간/높은 위험도로 표시된 명령이 제안되면, 확인 카드(confirm card)를 받게 되고 사용자가 결정합니다.
이러한 분리가 바로 Confirm의 핵심입니다: 조사 시에는 속도를, 변경(mutation) 전에는 확실한 중단을 제공합니다.
시나리오 3: 프로덕션(production)
Safety 카드에서 호스트를 **프로덕션(Production)**으로 표시합니다. 그러면 다음과 같은 것이 제공됩니다:
- 터미널 탭에 빨간색 프로덕션 배너를 표시하여 컨텍스트가 항상 보이도록 합니다.
- 위험한 명령어(필요한 경우 호스트 이름을 입력하는 것 포함)에 대해 더 엄격한 확인 절차를 거칩니다.
- AI를 보조적인 '두 번째 눈'으로만 사용하고 싶다면, 실행 전 확인을 선호하거나 심지어 제안만 옵션을 선택할 수 있습니다.
Production banner on the terminal tab
Production-style confirm / ask flow
프로덕션 호스트에서 자동 실행(Auto run)하는 것은 절약되는 몇 분의 시간보다 가치가 거의 없습니다. 피크 트래픽 시 발생한 단 한 번의 실수로 인한 재시작은 확인 클릭으로 얻는 이익보다 더 큰 비용을 초래합니다.
시나리오 4: 읽기 전용 호스트 (그리고 UI만으로는 충분하지 않은 이유)
감사원, 공유 점프 사용자 또는 '뷰어 전용' 브레이크-글래스 프로필과 같이 AI로부터 쓰기 작업을 받아서는 안 되는 계정이 있습니다. 해당 호스트를 **읽기 전용(Read-only)**으로 표시하세요.
중요한 부분은 이 차단 기능이 렌더러뿐만 아니라 Electron의 **메인 프로세스(main process)**에서 강제된다는 것입니다. 누군가 쓰기에 승인을 클릭하더라도, AI 경로는 해당 터미널에 변경을 가하는 입력을 주입할 수 없습니다. '제안만(Suggest only)' / '확인(Confirm)' / '자동 실행(Auto run)'으로는 이 방어막을 무효화할 수 없으며 — 실제 정책은 제한됩니다.
이것이 선호도와 제어(control)의 차이입니다.
스테이징 환경에서 시끄러운 로그 검색을 위해 자동 실행이 5분간 필요한가요? 입력 행 메뉴에서 탭 정책을 변경할 수 있습니다. 연결을 끊거나(또는 탭을 닫으면), 호스트/전역 기본값으로 되돌아갑니다. '지난 화요일에 프로덕션 환경을 자동 실행 상태로 두고 떠났다'와 같은 위험한 상황은 없습니다.
대화 컨텍스트는 **탭별/호스트별(per tab / per host)**로 유지되므로, 사용자가 보는 정책이 현재 이야기하고 있는 장치와 일치합니다. AI가 시작하는 명령어 및 위험한 작업들은 나중에 검토하거나 내보내기 위해 **감사 로그(audit log)**에도 기록됩니다.
Conversation history grouped by host
자신 모델 사용 (Bring your own model)
이 어시스턴트는 모든 OpenAI 호환 제공업체(OpenAI, DeepSeek, Qwen 등)와 통신합니다. API 키는 사용자 기기의 OS 보안 저장소에 유지되며 제품 클라우드에 업로드되지 않습니다. 정책은 어느 쪽이든 클라이언트 로컬입니다: 모델을 변경해도 Confirm / Suggest / Auto의 동작 방식은 바뀌지 않습니다.
실용적인 기본 매트릭스 (A practical default matrix)
| 호스트 유형 | 보호 수준 | 권장 AI 정책 |
|---|
| 데모/로컬 VM | 일반(Normal) | 자동 실행(Auto run) 또는 확인(Confirm) |
| ... | | |
| 시작은 Confirm으로 전역 설정한 다음, 중요한 호스트부터 점진적으로 강화하세요. 실수를 감수할 수 있는 곳에서만 완화하는 것이 좋습니다. | | |
사용해 보기 (Try it)
- GitHub Releases에서 설치합니다 (Windows, macOS, Linux).
- 데모 호스트를 열고 Settings → AI에서 세 가지 정책 사이를 전환해 보면서 어떤 명령이 질문하고 어떤 명령이 실행되는지 확인하세요.
- 실제 호스트를 추가하고 Safety 카드에서 Production 또는 Read-only를 설정한 후, 배너/실효 정책 텍스트를 확인합니다.
- 라이브 트리아지(live triage) 준비가 되면 Settings → AI에서 OpenAI 호환 제공업체를 지정하세요.
프로젝트 사이트에서 더 많은 정보를 얻을 수 있습니다. AI-SSH-Pro는 MIT 라이선스를 따르며, 별점(stars), 피드백, 이슈 제기는 환영합니다.
운영 환경의 박스들에는 어떤 정책을 기본값으로 설정하시겠습니까 — Confirm, Suggest만, 아니면 완전히 다른 무언가인가요?