IBM Bob을 활용한 SSH 연결 정보 및 절차서 연동 서버 환경 구축
요약
본 기사는 AI 에이전트 'IBM Bob'을 활용하여, 설계 정보 기반의 절차서 작성부터 SSH 연결 및 서버 환경 구축, 오류 조사 및 복구까지 전 과정을 자동화하는 방법을 다룹니다. 특히 기존 IaC 도구가 어려운 초기 설정이나 검증 목적의 임시 작업에 유용하며, 안전한 사용자 승인제(Human-in-the-Loop)를 적용했습니다.
핵심 포인트
- IBM Bob을 활용하여 절차서 작성부터 서버 구축까지 자동화 가능
- IaC가 어려운 초기 환경 세팅 및 검증 작업 효율화
- SSH 연결 정보와 절차서를 연동해 레거시 시스템에도 적용 가능
- 실행 전 사용자 승인제(Human-in-the-Loop)로 안전성 확보
본 기사에서는 AI 코딩/자동화 지원 에이전트 'IBM Bob' 을 활용하여, '설계 정보로부터의 절차서 작성'부터 'SSH 연결 정보를 전달한 서버 구축 실행', '에러 발생 시 조사 및 복구', '작업 로그(증거) 기록' 까지를 일관되게 수행한 내용을 정리합니다.
본 기사의 내용
-
요구 사항이나 설계 정보 기반으로 IBM Bob에게 사전에 절차서(Markdown)를 작성하게 하는 흐름
-
절차서와 SSH 정보를 IBM Bob에 전달하여 서버 환경을 구축하는 흐름
-
IBM Bob이 SSH를 통해 명령을 실행하고 출력을 검증하는 실제 사례 (OS 초기 설정, 패키지 도입 등)
-
에러 발생 시 IBM Bob이 자율적으로 원인을 조사 및 대처한 실제 사례
-
안전하게 운영하기 위한 접근 제어 및 가드레일 설계
-
절차서 기반의 서버 초기 설정이나 검증 환경 구축 작업 부담을 줄이고 싶은 인프라 엔지니어
-
자동화 스크립트(Ansible 또는 Chef 등) 작성 전 단계에서의 임시적인 구축 작업을 효율화하고 싶은 분
-
IBM Bob과 같은 AI 에이전트를 인프라 구축 및 운영 보조로 활용하는 방법에 관심 있는 분
본 기사 내용을 영상으로 제작했습니다. 이해에 도움이 되도록 참고해 주십시오.
서버 구축이나 OS 초기 설정 현장에서는 다음과 같은 작업이 정기적으로 발생합니다.
- 절차서 기반의 수동 실행: 파라미터 확인, 명령어 입력, 실행 결과 육안 확인.
- 환경 차이에 따른 에러 대응: 절차서에 기재된 내용과 대상 환경 간의 차이(리포지토리 설정이나 패키지 의존 등)로 인한 에러 분리.
- 작업 로그(증거) 기록: 실행한 명령어와 출력 결과의 기록 및 정리.
정기적인 구성 관리에는 Ansible, Chef, Terraform과 같은 IaC 도구가 적합하지만, '초기 환경 세팅', '검증 목적의 임시 설정', '기존 절차서로부터의 이행 단계' 등에서는 절차서를 보면서 수동으로 명령을 실행하는 경우가 적지 않습니다.
또한, 최근 에디터에는 'IDE 원격 연결 기능(Remote-SSH 등)'이 있지만, 접속 대상 서버에서 에이전트용 바이너리 동작이 필요하기 때문에, IBM AIX와 같이 원격 기능에 대응하지 않는 경우가 일반적입니다.
이에 로컬에서의 명령어 실행이나 파일 조작 기능을 갖춘 IBM Bob에 SSH 연결 정보와 절차서를 연동하여 순수한 ssh 명령을 통해 접근시키는 방식을 검증했습니다. 이 방식이라면, IDE 원격 연결 기능에 대응하지 않는 플랫폼(AIX나 레거시 Linux 등)에 대해서도 동일한 틀로 자동 구축을 실시할 수 있습니다.
IBM Bob은 로컬 환경(작업용 단말기 또는 점프 서버)에서 동작하며, 절차서 파일을 읽어 들인 후 SSH를 통해 대상 서버에 명령을 발송합니다.
참고로, IBM Bob에서의 셸 명령어 변경 처리 실행은 기본적으로 사용자 승인제(Human-in-the-Loop) 이며, AI가 구성한 명령어 내용을 실행 전에 사람이 확인 및 승인한 후에 발송되는 안전 설계입니다.
실제로 IBM Bob을 사용하여 절차서 작성부터 RHEL 환경(검증 서버)의 초기 세팅까지 실시했을 때의 흐름을 기재합니다.
구축 작업에 앞서, 설정 요구 사항이나 필요한 패키지 정보를 IBM Bob에게 제시하고, 사전에 Markdown 형식의 절차서를 작성하게 했습니다.
【요청 프롬프트 예시】
RHEL8 환경에 대한 OS 초기 설정 절차서를 작성해 주세요.
다음 요건을 포함하여 실행 명령어와 기대되는 확인 결과를 Markdown 형식으로 정리해 주세요.
...
IBM Bob은 각 작업 항목의 명령어뿐만 아니라 '사전 확인 명령어', '백업 생성', '반영 확인 명령어'를 체계적으로 담은 절차서(os-setting-supplement.md)를 즉시 작성합니다. 사람은 내용에 눈을 돌려 전제 조건이나 파라미터의 타당성을 확인할 필요만으로 절차서가 완성됩니다.
IBM Bob에게 채팅 인터페이스를 통해 연결 정보, 참조할 절차서, 작업 시 제약 사항을 지정합니다.
다음 대상 서버에 대해 첨부된 'OS 초기 설정 절차서(os-setting-supplement.md)'를 실시해 주세요.
【대상 서버】
- 호스트명: target-server
...
IBM Bob의 셸 실행 기능을 활용하여 로컬에서 ssh root@target-server "명령어" 형식으로 대상 서버를 조작합니다.
AI는 절차서에 기재된 추상적인 작업 항목(예: '루트 영역 확장', 'SELinux 비활성화' 등)을 읽고, 대상 서버의 현재 OS 상태를 조사한 후, 실행해야 할 구체적인 명령어를 즉시 조합합니다.
사람이 수동으로 조합할 경우, 물리 볼륨이나 볼륨 그룹 이름, 마운트 포인트 확인, 명령어 옵션 사양 확인 등에 시간이 소요되지만, AI는 사전 조사의 출력 결과를 해석하여 조건 분기나 히어 다큐먼트(EOF)를 포함한 복잡한 명령어열을 순식간에 정확하게 생성합니다.
절차서에 '루트 파일 시스템 확장'이라고 기재된 경우, AI는 먼저 현재 볼륨 구성을 조사합니다.
# AI의 사전 조사 명령어
ssh root@target-server "pvs && vgs && lvs && df -hT /"
조사 결과 출력에서 볼륨 그룹 이름이나 논리 볼륨 경로(/dev/rhel/root)를 특정하고, 디스크 확장에 필요한 명령어를 일련의 블록으로 순식간에 조합하여 실행합니다.
# AI가 조합하여 실행한 명령어
ssh root@target-server << 'EOF'
pvresize /dev/mapper/mpatha3
...
다음으로, OS 공통 설정(SELinux, hosts, cloud-init, firewalld 등)을 순차적으로 적용합니다.
# AI가 SSH를 통해 실행한 설정 예시
ssh root@target-server << 'EOF'
# 1. cloud-init 비활성화
...
'설정 변경 전 백업(예: .org 등)을 생성하거나', '기존 행의 중복 체크를 수행한다'와 같은 인프라 운영 관례를 지시에 기반하여 명령어에 반영하고 실행합니다.
실행 중에 오류가 발생한 경우, AI는 오류 출력을 분석하여 원인 특정과 복구 명령어 실행을 자율적으로 수행합니다.
오프라인 환경에서 Chef나 GitLab 등의 RPM 패키지를 설치할 때, 의존 패키지가 부족하여 오류가 발생했던 사례입니다.
# 오류 출력 예시
Error: Problem: package chef-13.8.5-1.el7.ppc64le requires libyaml, but none of the providers can be installed
이 출력에 대해 AI는 다음 순서로 대응했습니다.
-
리포지토리 설정 확인:
dnf repolist -v로 리포지토리 상태를 확인합니다. - 원인 특정: 의존 패키지가 포함된 로컬 리포지토리(Supplement)가 비활성화되어 있음을 확인합니다. - 설정 수정:ssh root@target-server "dnf config-manager --set-enabled RHEL-Supplement && dnf clean all" -
재실행: 패키지 설치 명령어를 재실행하여 정상 종료를 확인했습니다.
AI에게 초기 지시(프롬프트) 단계에서, **'각 단계의 실행 명령어와 표준 출력을 정리하고 로그 파일로 출력할 것'**을 명시적으로 지시합니다.
AI는 작업을 진행하면서 각 단계의 실행 결과를 메모리에 보존하고, 전체 구축이 완료된 시점에 작업 항목별로 구조화된 로그 파일(증거)을 자동으로 생성 및 저장합니다. 이로써 사람이 수동으로 터미널 로그를 복사하여 붙여넣고 정리하는 수고가 덜어집니다.
================================================================================
OS 설정 보충 절차 설정 작업 로그
대상 서버 : target-server
...
AI 에이전트에게 SSH를 통해 직접 서버 조작을 위임하는 경우, 수동 작업과는 다른 고유의 위험이 존재합니다. 안전하게 운영하기 위해 취한 위험과 해소책은 다음과 같습니다.
엔지니어의 향후 업무는 이 부분이 늘어날 것 같은데...
<table><thead><tr><th>想定リスク</th><th>具体的なリスク内容</th><th>解消策・ガードレール</th></tr></thead><tbody><tr><td>1. 의도치 않은 파괴적 명령어 실행</td><td>`rm -rf`나 `mkfs`, 예상치 못한 `reboot` 등으로 인한 시스템 정지 및 데이터 소실</td><td>・IBM Bob의 명령어 실행은 기본적으로 승인제(Human-in-the-Loop)로 운영되어, 실행 전 사람이 명령어 내용을 확인하고 프롬프트에서 위험 명령어 실행 금지를 명시함. ・작업 사용자의 sudo 권한을 필요 최소한으로 제한</td></tr><tr><td>2. 절차서 해석 차이・잘못된 설정값 적용</td><td>절차서의 모호한 기재로 AI가 잘못된 파라미터를 추측 및 적용할 수 있음</td><td>・'사전 조사 → 변경 계획 제시 → 실행'과 같이 단계를 나누어 지시 설계 ・실제 환경의 취득 값에 기반하여, 변경 전후의 일관성을 검증하도록 함</td></tr><tr><td>3. 네트워크・SSH 설정 변경으로 인한 연결 차단</td><td>firewalld나 sshd_config의 오변경으로 SSH 연결이 끊겨 복구 불능 상태가 될 수 있음</td><td>・네트워크 및 SSH 관련 설정 변경은 신중하게 처리하도록 지시 ・설정 반영과 통신 확인을 동일 명령어 내에서 검증하거나, 콘솔 작업으로 전환함</td></tr><tr><td>4. 설정 변경의 중복 또는 공집합성(Idempotency) 결여</td><td>처리 중단 후 재실행 시, hosts나 설정 파일에 이중 추가가 발생할 수 있음</td><td>・`grep -q`나 `test -f` 등의 사전 체크를 반드시 포함하여 명령어를 구성하도록 지시 ・변경 전 백업(`.org`)을 확보하는 것을 의무화함</td></tr><tr><td>5. 비밀 정보・인증정보 유출 및 잔존</td><td>AI와의 대화 기록이나 로그에 인증정보가 기록되거나, 작업 완료 후 자격 증명이 남아있음</td><td>・SSH 키 인증을 활용하여 비밀번호 직접 전달을 피함 ・작업 로그 출력 시 기밀 정보를 마스킹하는 지시를 포함함 ・작업 완료 후 인증정보(임시 SSH 키나 작업용 비밀번호)를 신속하게 로테이션 및 삭제함</td></tr></tbody></table>AI에게 실제 장비 조작을 맡길 때는, '실행 중 감시', '사후 검토', '접근 권한 차단'을 다층적으로 철저히 하는 것이 중요하다고 생각합니다.
AI가 화면상에서 실행하는 명령어와 그 출력을 사람이 실시간으로 육안 확인하는 것 외에도, 출력된 실행 로그 파일(logs/os_setting_supplement_YYYYMMDD.log 등)이나 서버 측의 인증・감사 로그(auditd//var/log/secure)와 대조하여 의도치 않은 조작이 이루어지지 않았는지 검증합니다.
단순히 실행 로그를 출력하는 것뿐만 아니라, AI에게 '수행한 작업 항목', '변경 전후의 설정 차이점', '발생한 오류 및 대처 내용', '최종적인 통신・작동 확인 결과'를 정리한 작업 완료 보고서를 작성하도록 합니다. 인간 측은 이 보고서를 바탕으로 구축이 요구사항대로 완료되었는지 최종 판정합니다.
발판 서버의 세션 레코딩 기능이나, Linux 표준 터미널 녹화 도구(tlog/script 명령어 등)를 활용하여 AI가 SSH 세션 내에서 수행한 입출력과 실행 타이밍을 모두 기록합니다. 이를 통해 만일의 트러블 발생 시에도 작업 내용을 완벽하게 재현 및 추적할 수 있습니다.
AI가 대규모 탐색 명령어(광범위한 find 등)나 무거운 컴파일 처리를 실수로 수행하지 않도록, 작업 중에는 기존 감시 에이전트나 top 명령어 등으로 CPU・메모리 사용률이나 프로세스 상태를 감시하여 서버에 과도한 부하가 발생하는 것을 탐지하고 억제할 수 있도록 합니다.
AI가 조작한 내용을 OS 측에서 객관적이고 위변조 불가능한 증거로 남기기 위해, OS 표준 감사 데몬(Linux의 auditd나 AIX의 audit 서브시스템)의 활용을 검토합니다.
작업 사용자가 실행한 시스템 콜(명령어 실행 execve)이나 중요 설정 파일(/etc/hosts, /etc/ssh/sshd_config, /etc/selinux/config 등)에 대한 쓰기・속성 변경을 커널 레벨에서 기록해 둠으로써, AI의 출력 로그와는 독립적인 공적인 감사 로그로서 사후 검증이 가능합니다.
작업 종료 후에는 사람이 확실하게 인증정보를 변경 및 삭제합니다. 작업용 임시 SSH 공개키의 제거(authorized_keys로부터의 제거)나, 작업용 사용자 비밀번호 변경・계정 무효화를 수행함으로써, 작업 완료 후에 AI(및 AI의 동작 환경)가 서버에 재접근할 수 없는 상태임을 보장합니다.
-
IDE 원격 미지원 환경(AIX 등) 적용성: IDE의 원격 연결 기능이 아닌 표준 SSH 명령을 통해 접근하므로, AIX나 각종 UNIX 환경에서도 Linux와 완전히 동일하게 자동 구축을 진행할 수 있습니다. -
기본 승인제에 의한 안전성: IBM Bob은 명령어 실행 전에 사람이 승인하는 플로우가 기본으로 되어 있어, AI가 생성한 명령어를 확인하면서 안전하게 작업을 진행할 수 있습니다. -
명령어 조합의 신속성: 디스크 확장이나 sed 치환 같은 복잡한 명령어열이라도 환경 조사 결과로부터 순식간에 정확한 원라인(one-liner) 또는 스크립트가 생성됩니다. -
작업 시간 단축: 절차서를 보면서 수동 입력 및 화면 확인을 왕복하는 작업을 줄일 수 있습니다. -
오입력 방지: 파라미터의 오타나 절차서의 건너뛰기를 막을 수 있습니다. -
증거(Evidence) 생성 자동화: 프롬프트로 지시해 두면, 실행 후 모든 결과가 구조화된 작업 로그로 자동으로 집약됩니다. -
문제 해결(Troubleshooting) 효율화: 패키지 의존성이나 설정 불일치에 신속하게 대처할 수 있습니다.
사전 전제 조건 명시: 허용하는 변경 범위나 금지 사항을 프롬프트로 명확히 지정할 필요가 있습니다. -
멱등성(Idempotency) 확보: 재실행 시 불일치가 발생하지 않도록, 상태 확인을 거치는 명령어 구성을 의식시키는 것이 중요합니다. -
작업 후 접근 차단 철저: 앞서 언급했듯이, 작업 종료 후에 인증 정보를 변경하여 접근 권한을 무효화하는 운영 규칙을 반드시 마련해야 합니다.
IBM Bob을 활용함으로써, 다음과 같은 인프라 구축 라이프사이클 전체를 일관되게 지원할 수 있습니다.
- 요구사항이나 설계 정보로부터 사전에 체계적인 절차서(Markdown)를 작성합니다.
- 절차서의 의도를 읽어 환경에 맞는 명령어를 순식간에 조합합니다.
- SSH 경유로 원격 실행하고, 종료 코드와 출력을 확인합니다.
- 오류 발생 시 출력물을 분석하여 수정 명령을 실행합니다.
- 작업 완료 후 구조화된 로그 파일을 자동으로 집약 및 생성합니다.
절차서 문서 작성부터 실기(實機)에 설정 적용, 증거 생성까지 일련의 흐름으로 진행할 수 있기 때문에, 정기적인 구성 관리 코드 작성 전 단계나 검증 환경 세팅 작업에서 실용적인 접근법으로 활용할 수 있습니다.
본 기사에서 소개했듯이, IBM Bob을 포함한 AI 에이전트는 애플리케이션 개발뿐만 아니라 인프라 구축이나 서버 운영 현장에서도 강력한 작업 지원 파트너가 될 수 있습니다.
절차서 작성부터 실기 명령어 발행, 문제 해결, 로그 자동 집약에 이르기까지 일련의 워크플로우로 맡김으로써, 작업 실수 방지 및 공수 절감에 크게 기여합니다. 또한, 기본 명령어 승인 기능(Human-in-the-Loop)이나 인증 정보 관리와 같은 안전 대책을 적절히 결합함으로써 실무에서도 안심하고 활용할 수 있습니다.
우선 검증 환경이나 샌드박스 환경 등에서 일상적인 구축/운영 작업 보조로 시험해 보는 것은 어떨까요?
IBM Bob에는 30일 무료 체험 기간이 마련되어 있습니다. 실제로 환경 구축이나 코드 생성을 시도해 보고 싶은 분은 다음 공식 페이지를 참조해 주십시오.

AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기