PromleeBlog

posting thumbnail
Mac에서 SSH와 SFTP를 한 창에 쓰는 PromeFTP
PromeFTP for macOS — SSH and SFTP in One Window

📅

들어가기 전에 🔗

서버에 설정 파일 하나를 올리고 로그를 확인할 때도, 터미널에서 쓰던 접속 주소를 파일 전송 앱에 다시 넣어야 할 때가 있습니다.
같은 서버에 다시 접속하고, 방금 확인한 경로를 또 찾아 들어갑니다.
맥에서 이 작업을 한 창에서 할 수 있도록
PromeFTP
를 만들었습니다.
SSH로 로그를 보는 탭 옆에 SFTP 탭을 열어 두고, 자주 쓰는 배치는 워크스페이스로 저장할 수 있습니다.
· macOS 13 이상 · Apple Silicon
🖐️
아래 SFTP 화면은 테스트 서버에 샘플 파일을 넣어 촬영한 화면입니다.

SSH 터미널과 SFTP 파일 전송 🔗

스테이징 서버에 파일을 올린 뒤 로그를 확인한다면, SSH 탭에 터미널을 열고 ⌘D로 오른쪽에 창을 하나 더 붙입니다.
한쪽에서 tail -f로 로그를 보고, 다른 쪽에서 설정 파일을 확인하거나 명령을 실행할 수 있습니다.
아래로 나누려면 ⌘⇧D를 누릅니다.
SSH 사용 가이드↗

SFTP 탭을 열면
왼쪽은 내 Mac, 오른쪽은 서버
입니다.
파일을 오른쪽으로 끌면 업로드하고, 왼쪽으로 끌면 내려받습니다.
서버 두 곳을 비교할 때는 같은 탭에서 원격 패널을 하나 더 열 수 있습니다.
원격 패널끼리 파일을 끌면
Mac을 경유해 복사
하며, 출발지 파일은 그대로 남습니다.
SFTP 사용 가이드↗
왼쪽에 Mac의 파일 목록, 오른쪽에 스테이징 서버의 파일 목록을 표시한 PromeFTP SFTP 탭
왼쪽에 Mac의 파일 목록, 오른쪽에 스테이징 서버의 파일 목록을 표시한 PromeFTP SFTP 탭

북마크와 워크스페이스 🔗

서버 하나를 다시 열 때는
북마크
, SSH와 SFTP 탭을 한꺼번에 다시 열 때는
워크스페이스
를 씁니다.
예를 들어 스테이징 로그를 보는 SSH 탭과 배포 폴더를 열어 둔 SFTP 탭만 골라 저장할 수 있습니다.
워크스페이스를 열면 현재 탭 옆에 저장한 배치가 추가되고, 대상 서버에는 새로 접속합니다.
워크스페이스 사용 가이드↗
👨‍💻
스테이징 북마크를 바탕으로 운영 서버를 추가할 때는 주소와 이름을 바꾼 뒤 Save as New Bookmark를 누르세요. Save Changes는 선택한 북마크에 변경 사항을 저장합니다.

OpenSSH 별칭과 PAM 응답 🔗

~/.ssh/config에 쓰던 별칭이 있다면 사이드바의
OpenSSH Config
에서 검색할 수 있습니다.
별칭을 선택하면 호스트 주소, 사용자, 포트가 접속 폼에 채워집니다.
OpenSSH 설정 안내↗

서버가 PAM을 통해 추가 인증 질문을 보내면 앱에서 답할 수 있습니다.
매번 같은 답을 입력하는 질문은 연결별로 저장하거나
Preferences → Authentication
에서 공통 규칙으로 관리할 수 있습니다.
저장한 비밀번호와 PAM 응답은 Mac의 로컬 프로필에 평문으로 기록됩니다.
일회용 코드는 매번 입력하세요.
PAM과 저장 범위 안내↗

로그인 후 터미널 출력에 반응하는 규칙은
Terminal Triggers
에서 설정합니다.
SSH 탭에서 ⌘P를 누르면 목록이 열리고, 규칙마다 이름을 붙여 특정 문구가 나왔을 때 입력을 요청하거나 저장한 응답을 보낼 수 있습니다.
1.0.8 릴리스 노트↗

다운로드와 첫 실행 🔗

GitHub 릴리스의
Assets
에서 PromeFTP-1.0.8-macos-arm64.dmg를 받아 열고, PromeFTP를
응용 프로그램
폴더로 옮깁니다.
이 배포본은 Apple 공증을 받지 않았습니다.
공식 파일을 받았는지 확인한 뒤, macOS가 첫 실행을 차단하면
시스템 설정 → 개인정보 보호 및 보안 → 그래도 열기
에서 실행을 허용합니다.
한국어 설치 가이드↗

결론 🔗

SSH로 로그를 보다가 파일 전송 앱을 다시 여는 일이 잦다면, 자주 접속하는 서버 하나부터 SSH와 SFTP로 열어 보세요.
같은 두 탭을 다음 작업에서도 쓴다면 워크스페이스로 저장해 두면 됩니다.
쓰다가 불편한 점이 있으면 GitHub Issues에 남겨 주세요.

참고 🔗