SSH는 한 컴퓨터를 다른 컴퓨터의 터미널에서 사용할 수 있게 해주는 수단이에요.
화면 공유가 아니에요. 원격 데스크톱도 아니고요. 작고 버벅이는 화면 위에서 커서가 움직이는 방식도 아닙니다.
그냥 이래요. 내가 노트북에서 명령을 입력하면, 책상 밑 Mac mini에서 그 명령이 실행돼요.
쉽게 표현하자면 다른 기계에게 보내는 무전기예요. 노트북이 "Mac mini야, 이거 실행해"라고 말하면, Mac mini가 듣고, 실행하고, 결과를 텍스트로 돌려보내요.
그게 전부예요. 매트릭스보다는 무전기에 가깝습니다.
AI 에이전트와의 연결.
에이전트 이전에는 SSH가 개발자들의 재주처럼 느껴졌어요. 컴퓨터를 쓰려면 그 앞에 앉으면 됐으니까요.
에이전트가 그걸 바꿔놨어요.
이제 저는 항상 켜져 있는 Mac mini를 두고, 그 앞에 없어도 에이전트 작업을 돌려요. Mac Studio에서 시작하고, 노트북에서 확인하고, 나중에 폰으로 결과를 들여다보는 식이에요. SSH는 그걸 가능하게 하는 조용한 다리입니다.
"지금 내가 어느 컴퓨터 앞에 있나?"가 아니라, "이 작업은 어느 컴퓨터에서 실행하는 게 맞나?"가 더 나은 질문이 돼요.
기계와 맺는 관계가 달라지는 거예요.
유용한 이해 방식.
원격 컴퓨터를 도시 반대편에 있는 잠긴 사무실이라고 생각해보세요.
화면 공유는 직접 차를 몰고 가서 그 책상에 앉아 마우스를 움직이는 거예요.
SSH는 사무실에 전화를 걸어 이렇게 말하는 거고요:
check disk space
restart the agent
show me the logs
컴퓨터가 그 일을 처리하고 결과를 읽어줘요.
컴퓨터 "안에" 마법처럼 들어가는 게 아니에요. 보안 연결을 통해 텍스트 명령을 보내는 거예요.
첫 설정이 번거롭게 느껴지는 이유.
SSH에는 두 가지가 필요해요:
- 상대 기계의 주소
- 접속 권한을 증명하는 수단
주소는 로컬 IP일 수도 있고, Tailscale 기기 이름이나 호스트명일 수도 있어요. 증명은 보통 SSH 키로 해요. SSH 키는 매번 직접 입력하지 않아도 컴퓨터가 자동으로 쓰는, 훨씬 안전한 비밀번호 같은 거예요.
한 번 설정해두면 별칭(alias)을 만들어서 긴 명령을 다시 타이핑하지 않아도 돼요.
제 경우엔 단 한 단어면 충분해요:
mini
이걸 치면 Mac mini가 열려요.
mini가 마법 명령이라서가 아니에요. 그 아래 깔린 SSH 설정이 어느 기계인지, 어떤 사용자로 접속할지, 어떤 키로 권한을 증명할지를 알고 있기 때문이에요.
덜 무섭게 만드는 구분.
SSH는 인터넷 전체에 내 컴퓨터를 열어두는 게 아니에요. 그래서도 안 되고요.
안전한 설정은 비공개예요. 저는 Tailscale을 써서 내 기기들끼리만 서로 보이도록 하고, Mac mini를 공개 인터넷에 노출하지 않아요. 원격 로그인은 켜져 있지만, 입구는 사설 네트워크 안에만 있어요.
"내 기계에 내가 접근할 수 있다"와 "인터넷의 아무나 문을 두드릴 수 있다"는 전혀 다른 이야기예요. 전자를 목표로 해야 해요.
SSH가 익숙해지면 에이전트 인프라의 많은 부분이 갑자기 덜 추상적으로 느껴져요.
헤드리스 Mac mini는 그냥 텍스트로 대화하는 컴퓨터예요. 상시 작동하는 에이전트는 내가 접근할 수 있는 곳에서 돌아가는 프로세스고요. 로그는 다른 방에서 요청할 수 있는 파일이에요.
SSH는 다리예요.
화려하지 않아요. 그리고 극히 유용합니다.