Berth 사용 설명서

SFTP · 터미널 · 직렬 콘솔을 한 창에서 — 서버를 더하는 법부터 단축키까지

🚀시작하기

화면 구성

창 하나에 네 곳이 있습니다.

첫 서버 추가

  1. 사이드바 빈 곳을 우클릭하거나 ⌘N을 누릅니다.
  2. 이름과 서버 주소를 적습니다. 사용자·포트는 비워 두면 기본값을 씁니다.
  3. 목록에서 두 번 클릭하면 접속합니다. 한 번 클릭은 고르기입니다.
💡 이미 터미널에서 ssh 별칭으로 붙던 서버라면 새로 적을 것이 없습니다. 사이드바 메뉴의 ~/.ssh/config에서 가져오기(⌘⇧I)로 한 번에 들여옵니다. FileZilla 사이트 목록도 가져올 수 있습니다.

언어 바꾸기

메뉴의 Berth › 설정(⌘,)에서 20개 언어 중 하나를 고릅니다. 시스템 언어를 따르는 것이 기본이고, 고른 언어는 이 앱에만 적용됩니다. 바꾼 뒤 앱을 다시 시작하면 반영됩니다.

🗂서버와 폴더

폴더로 묶고 물려주기

폴더(⌘⇧N)로 서버를 묶으면 설정이 아래로 내려갑니다. 폴더에 사용자 이름이나 주의 등급을 한 번 걸면 그 아래 서버가 모두 따릅니다. 서버 스무 대에 같은 값을 스무 번 적지 않으려고 있는 장치입니다.

설정 창의 각 칸은 그 값이 어디서 왔는지(내가 정했는지, 어느 폴더에서 물려받았는지)를 아래에 적어 주고, 되돌리는 단추로 상속으로 돌아갑니다.

주의 등급 — 개발 · 스테이징 · 운영

등급은 색보다 셉니다. 운영으로 두면 위험한 동작 앞에서 확인을 더 받습니다. 세션 목록에서는 고른 색으로 칠하고 빨간 테두리로 운영임을 표시해, 운영이 여럿이어도 색으로 가릅니다. 확인 창처럼 하나만 보이는 곳은 강한 경고로 빨강입니다.

클릭 규칙

🔑접속과 인증

처음 접속할 때 — 폴더 권한

Berth는 App Store의 규칙(샌드박스)을 따르므로 홈 폴더를 마음대로 읽지 않습니다. 처음 서버를 열 때 SSH 설정·키·known_hosts가 있는 폴더(보통 ~/.ssh)를 한 번 골라 달라고 묻습니다. 한 번 고르면 기억하고 다시 묻지 않습니다. 키를 다른 곳에 두었다면 홈 폴더를 골라도 됩니다.

로컬 파일 패널도 같은 이유로 여러분이 고른 폴더를 뿌리로 씁니다 — 패널 머리글의 로컬 폴더 열기로 바꿀 수 있고, 이것도 기억합니다.

~/.ssh/config를 읽습니다

별칭으로 접속하면 그 항목의 호스트·포트·사용자·키 파일·ProxyJump· StrictHostKeyChecking을 읽어 씁니다. 저장된 포트가 낡아도 설정 파일이 이깁니다.

⚠️ 두 가지는 되지 않습니다. ProxyCommand는 외부 프로그램을 띄우는 기능이라 샌드박스에서 막힙니다 — 점프 호스트는 ProxyJump로 적으십시오. ssh-agent에도 닿지 못하므로 키 파일을 직접 읽고, 패스워드가 걸린 키는 접속할 때 패스워드를 묻습니다.

인증 방식

⚠️ 터미널에서 그냥 ssh로 붙던 서버라면 자동이 맞습니다. 도움이 될까 싶어 키를 지정하면 오히려 접속이 막힙니다 — 지정한 키 하나만 시도하기 때문입니다.

서버가 물을 때

비밀번호를 저장해 두면 접속할 때 한 번 대신 답합니다. 그 밖의 물음 — 2단계 인증 코드, 틀린 패스워드 다시 치기, 패스워드가 걸린 키의 패스워드 — 는 "서버에서 요청이 왔습니다" 창에 서버가 보낸 물음 그대로 떠서 직접 답합니다. 계정이 잠기지 않도록 저장된 비밀번호는 한 번만 자동으로 넣고, 최대 세 번까지만 묻습니다.

비밀번호를 그만 치려면

서버를 우클릭해 이 서버에 공개키 등록…을 고르면 ~/.ssh의 공개키를 서버에 올려 줍니다. 다음부터는 키로 붙습니다.

저장한 비밀번호는 macOS 키체인에만 있습니다. 설정 파일에는 "저장돼 있다"는 표시만 남고 값은 들어가지 않습니다.

처음 보는 서버, 바뀐 호스트 키

처음 붙는 서버는 키의 종류와 지문을 보여 주고 기억할지 묻습니다. 기억하면 ~/.ssh/known_hosts에 ssh와 같은 꼴로 적어 다음부터 묻지 않습니다.

서버의 신원이 지난번과 다를 때도 뜹니다. 중간자 공격일 수도, 서버를 다시 설치한 것일 수도 있습니다. Berth는 대신 판단하지 않고 재료를 줍니다 — 옛/새 키의 종류와 지문, 그리고 장비 콘솔에서 직접 대조할 명령까지. 확인한 뒤 "옛 키를 지우고 새 키를 기억하기"을 누르면 옛 항목을 지우고(known_hosts.old에 백업) 새 키를 적습니다.

💡 자주 다시 굽는 개발 보드처럼 매번 이 창을 보게 되는 장비는, 그 서버 설정에서 호스트 키 기억 안 함을 켤 수 있습니다. 위험이 그 한 대에만 갇히도록 known_hosts는 건드리지 않습니다. 운영 등급에서는 켜지지 않습니다.

파일 패널 (SFTP)

올리고 내리기

왼쪽이 내 맥, 오른쪽이 서버입니다. 끌어다 놓거나 ⌥⌘→(업로드) · ⌥⌘←(다운로드)로 보냅니다. 진행 상황은 전송 줄에 쌓입니다.

터미널을 따라가는 파일 패널

터미널에서 cd 하면 원격 파일 패널이 같은 폴더로 따라옵니다. 따라오는 것이 방해될 때는 ⌘⇧L로 끕니다.

자주 가는 곳 · 보기

차이 보기

⌘⇧Y로 켜면 로컬과 원격을 나란히 견주어 다른 것·한쪽에만 있는 것을 표시합니다. 필요한 것만 보내려 할 때 씁니다.

🌏 맥과 리눅스는 한글·일본어·베트남어 파일 이름을 다른 바이트로 적습니다. Berth는 짝을 지을 때만 이름을 맞춰 보므로, 눈에 같은 파일이 "한쪽에만 있음"으로 갈리지 않습니다. 실제 전송에는 서버에 있는 이름 그대로 씁니다.

지우기

⌘⌫서버측 휴지통으로 옮기는 것이 기본이고 언제나 확인을 받습니다. 휴지통이 꺼진 서버에서는 되돌릴 수 없다고 미리 말해 줍니다.

⌨️터미널

vim·tmux·less가 그대로 도는 진짜 셸입니다. 마우스로 끌어 고르고 ⌘C로 복사하면 명령이 줄 끝 군더더기 공백 없이 깔끔하게 붙습니다.

붙여넣기 확인

여러 줄을 붙여넣으면 무엇이 실행될지 먼저 보여 줍니다. 줄바꿈이 든 붙여넣기는 그 자리에서 명령이 되어 버리기 때문입니다. 위험해 보이는 것은 이유와 함께 표시합니다.

넓게 보기

⌘↩로 지금 영역을 확대하고 다시 눌러 돌아옵니다. ⌥⌘↩는 패널 하나만 키웁니다. 글자 크기는 ⌘+ · ⌘- · ⌘0입니다. 터미널 내용은 ⌘L로 비웁니다 — 화면과 스크롤 기록을 지우고 현재 프롬프트 줄만 남깁니다.

🔌직렬 콘솔 (UART)

장치 고르기

⌃⌘N으로 직렬 콘솔을 더하고, 설정에서 꽂힌 장치를 고릅니다. Berth는 경로가 아니라 장치를 기억합니다 — 일련번호가 있으면 그것으로, 없으면 종류로. 다른 USB 자리에 꽂아도 같은 장치를 찾습니다.

💡 그 일련번호는 USB로 열거되는 것의 것입니다. USB-시리얼 어댑터를 쓰면 어댑터를 기억하는 셈이라, 어댑터를 바꾸면 다시 골라야 합니다.

속도와 회선 설정

속도는 목록에서 고르거나 직접 적습니다(1,500,000처럼 표준 밖의 값도 됩니다 — 어댑터가 받는 값이어야 합니다). 기본은 8N1 · 흐름 제어 없음으로, 대부분의 콘솔이 이 값입니다.

⚠️ 흐름 제어가 없는 UART는 연속·대량 통신에서 장치가 송신을 멈추는 일이 있습니다. 이 앱만의 문제가 아니라 회선 자체의 특성이라(같은 케이블에서 다른 프로그램도 같습니다), 근본 해결은 4선 케이블에서 흐름 제어를 켜거나 보드 쪽 속도를 낮추는 것입니다.

기록판

직렬 세션에서는 내가 친 명령과 그 답이 시간과 함께 오른쪽에 쌓입니다. 비밀번호를 물어본 자리의 입력은 가려집니다.

단축키

앱 단축키에는 언제나 가 들어갑니다. · 조합은 셸과 TUI(vim·tmux)의 것이라 앱이 가져가지 않습니다.

⌨️ 마우스가 필요 없습니다. 여기 있는 조작은 전부 단축키로 됩니다 — 마우스를 멀리하고 싶은 분을 위해, 손이 자판을 떠날 일이 없도록 만들었습니다.
하는 일
⌘N · ⌃⌘N · ⌘⇧N서버 추가 · 직렬 콘솔 추가 · 폴더 만들기
⌘I · ⌘⇧I이 서버 설정 · ~/.ssh/config에서 가져오기
⌘K어디로 갈까 — 이름으로 찾아 바로 이동
⌘1⌘9세션 전환
⌃⌘← 패널 사이 이동
⌘↩ · ⌥⌘↩확대 / 복귀 · 이 패널만 확대
⌘⇧S · ⌥⌘↑ ⌥⌘↓사이드바 · 분할선 옮기기
⌥⌘→ · ⌥⌘←업로드 · 다운로드
⌘D · ⌘R · ⌥⌘N핀 꽂기/빼기 · 새로 읽기 · 새 폴더
⌘↓ · ⌘↑ · ⌥⌘T파고들기 · 되돌리기 · 트리↔목록
⌘⌫ · ⌘⇧F원격에서 지우기 · 서버에서 찾기
⌘⇧V · ⌘⇧L · ⌘⇧Y경로를 터미널에 · 터미널 따라가기 · 차이 표시
⌘+ ⌘- ⌘0 · ⌘⇧W글자 크기 · 이 세션 닫기
⌘L · ⌘] ⌘[터미널 지우기 · 오른쪽 패널 탭 넘기기
⌘C · ⌘⇧P · ⌘⇧U · ⌘?복사 · 기록판에 담기 · 적하목록 재전송 · 사용 설명서

자주 묻는 질문

비밀번호는 어디에 저장되나요?

macOS 키체인에만 저장됩니다. 설정 파일에는 "저장돼 있다"는 표시만 남습니다. 키체인은 접속하는 순간 한 번만 엽니다.

사용 기록을 수집하나요?

아니요. 앱 안에 어떤 계측도 없습니다. 무엇을 여는지, 어디에 붙는지 세지 않습니다.

직렬 콘솔이 도중에 멈춥니다.

흐름 제어가 없는 UART에서 대량 통신을 하면 생기는 회선 특성입니다. 4선 케이블이라면 설정에서 흐름 제어(RTS/CTS)를 켜고, 3선이라면 보드 쪽 속도를 낮추거나 출력을 페이저로 나눠 보십시오.

이미 쓰던 SSH 설정을 다시 적어야 하나요?

아닙니다. ~/.ssh/config에서 가져오면 별칭 그대로 접속하고, 그 항목의 호스트·포트· 사용자·키·ProxyJump를 읽어 씁니다.

ProxyCommand를 쓰는 설정이 있어요.

ProxyCommand는 외부 프로그램을 띄우는 기능이라 App Store의 샌드박스에서는 쓸 수 없습니다. 점프 호스트를 거치는 설정이라면 ProxyJump로 바꾸면 그대로 됩니다. ssh-agent도 같은 이유로 쓰지 못하며, 키 파일을 직접 읽고 패스워드가 걸린 키는 접속할 때 패스워드를 묻습니다.

지원되는 macOS 버전은?

macOS 14(Sonoma) 이상, Apple Silicon과 Intel 모두 됩니다.

도움이 되었다면

Berth는 무료입니다. 후원하기로 개발을 도울 수 있습니다.