1. 오류 증상
iproxy를 통해 SSH 접속 시 기본 패스워드 alpine을 입력해도 접속이 거부됩니다.
$ ssh root@localhost -p 2222
root@localhost's password: (alpine 입력)
Permission denied, please try again.
root@localhost's password:
Permission denied, please try again.
root@localhost's password:
root@localhost: Permission denied (publickey,keyboard-interactive).
# 또는 아래 오류가 출력되는 경우
UNIX authentication refused.
패스워드를 정확히 입력해도 반복적으로 실패하며, 3회 시도 후 연결이 자동으로 끊깁니다.
2. SSH 연결 구조 이해
오류 원인을 파악하기 전에, palera1n 환경에서의 SSH 연결 구조를 먼저 이해해야 합니다. 일반적인 SSH와 달리 포트와 인증 서버가 다릅니다.

연결 흐름: Mac → ssh root@localhost -p 2222 → iproxy(2222→44, USB 포트포워딩) → iPhone Dropbear SSH Server(포트 44, PAM 인증)
palera1n SSH 포트는 22가 아닌 44
palera1n이 설치하는 Dropbear SSH 서버는 기본 포트로 44를 사용합니다. iproxy 설정도 iproxy 2222 44로 맞춰야 합니다.
원인 분석
alpine 패스워드 오류는 주로 아래 두 가지 원인 중 하나에서 발생합니다.
- PAM 해시 형식 불일치: palera1n rootful(fakefs) 환경에서 Dropbear SSH 서버가 iOS의 PAM 설정과 충돌하여
UNIX authentication refused가 발생합니다. - 패스워드 미초기화: 부트스트랩 초기화 과정에서 root 계정 패스워드가 설정되지 않았거나, fakefs 생성 후 패스워드 파일이 초기 상태(
!)로 남아 있는 경우입니다.

해결법 1 — NewTerm으로 기기에서 직접 passwd 변경
SSH를 우회하여 기기 터미널에서 직접 패스워드를 변경하는 방법입니다. SSH 접속 없이 처리할 수 있어 가장 확실합니다.
1.1 Sileo에서 NewTerm 3 설치
Sileo 앱을 실행하고 Search 탭에서 NewTerm 3을 검색하여 설치합니다.
1.2. NewTerm에서 패스워드 변경
NewTerm을 실행하고 아래 명령을 입력합니다.
iPhone:~ root# passwd root
New password:
Retype new password:
passwd: password updated successfully
Mac으로 돌아와 변경한 패스워드로 SSH 접속을 확인합니다.
해결법 2 — Filza로 master.passwd 직접 수정
터미널 명령 없이 GUI로 패스워드 설정 파일을 직접 수정하는 방법입니다. /etc/master.passwd 파일의 root 패스워드 필드가 !(잠금 상태)로 설정된 것이 원인이며, 이를 alpine의 해시값으로 직접 교체합니다.
2.1. 패스워드 해시값 생성
Mac 브라우저에서 DES crypt 해시 생성 사이트에 접속합니다. Password에 alpine, Salt에 임의의 문자열을 입력하고 Encrypt를 클릭합니다.
DES crypt는 Salt를 해시값 앞에 포함시켜 저장합니다. Salt 없이 고정값 /smx7MYTQIi2M(alpine의 사전 계산 해시)을 직접 사용해도 동일하게 동작합니다.
2.2. Sileo에서 Filza 설치
Filza는 기본 저장소에 없으므로, Chimera 저장소를 먼저 추가해야 합니다.
- Sileo → 하단 Sources 탭 → 우측 상단 Edit → Add
- 저장소 URL 입력:
https://repo.chimera.sh - 저장소 추가 완료 후 Search에서
Filza 검색 후 설치
2.3. /etc/master.passwd 열기 및 수정
Filza를 실행하고 /etc/master.passwd로 이동하여 텍스트 편집기로 파일을 엽니다. root 행의 두 번째 필드(패스워드 해시 자리)가 !로 되어 있으면 복사해둔 해시값으로 교체하고 저장합니다.
# 수정 전 — ! 는 계정 잠금 상태
root:!:0:0::0:0:System Administrator:/var/root:/bin/sh
# 수정 후 — 생성한 해시값으로 교체 (예시: alpine 고정 해시)
root:/smx7MYTQIi2M:0:0::0:0:System Administrator:/var/root:/bin/sh
⚠️ 파일 경로 참고
/etc/master.passwd와 /private/etc/master.passwd는 심볼릭 링크 관계입니다. 어느 경로로 접근해도 동일한 파일입니다. 수정 전 파일을 별도로 백업해두는 것을 권장합니다.
해결법 3 — SSH 공개키 인증으로 패스워드 우회
패스워드 인증은 실패해도 공개키 인증은 독립적으로 동작합니다. NewTerm에서 Mac의 공개키를 기기에 직접 등록합니다.

1. Mac에서 공개키 확인
$ cat ~/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... user@macbook
# 키가 없으면 먼저 생성
$ ssh-keygen -t ed25519 -C "ios-pentest"
2. NewTerm에서 authorized_keys 등록
iPhone:~ root# mkdir -p ~/.ssh && chmod 700 ~/.ssh
iPhone:~ root# echo 'ssh-ed25519 AAAA... user@macbook' >> ~/.ssh/authorized_keys
iPhone:~ root# chmod 600 ~/.ssh/authorized_keys
3. Mac에서 키 인증으로 접속
$ ssh root@localhost -p 2222 -i ~/.ssh/id_ed25519
iPhone:~ root#
# 접속 성공 후 패스워드 재설정
iPhone:~ root# passwd root
해결법 4 — PATH 수동 설정 후 passwd 실행
iproxy SSH 세션의 기본 환경에서는 PATH가 제한되어 passwd 명령이 없는 것처럼 보입니다. procursus 경로를 직접 추가하면 해결됩니다. 이미 키 인증 등으로 SSH 접속에 성공한 상태에서 사용합니다.
# passwd 바이너리 경로 확인
iPhone:~ root# find /private/preboot -name "passwd" 2>/dev/null
/private/preboot/[UDID]/jb-[hash]/procursus/usr/bin/passwd
# 확인된 경로로 PATH 추가
iPhone:~ root# export PATH="/private/preboot/[UDID]/jb-[hash]/procursus/usr/bin:$PATH"
# 패스워드 변경
iPhone:~ root# passwd root
New password:
Retype new password:
passwd: password updated successfully
⚠️ 단 최초 접속 실패 상태라면 이 방법은 사용 불가합니다.
SSH 접속 자체가 불가능한 경우에는 해결법 1(NewTerm), 해결법 2(Filza), 또는 해결법 3(공개키)를 먼저 적용해야 합니다.
변경 후 확인
패스워드 변경 완료 후 아래 순서로 최종 동작을 확인합니다.
# 1. iproxy 실행 (별도 탭)
$ iproxy 2222 44
# 2. 변경된 패스워드로 SSH 접속
$ ssh root@localhost -p 2222
root@localhost's password: (변경한 패스워드 입력)
iPhone:~ root#
패스워드 변경 후 공개키 인증도 함께 설정해두면 이후 작업이 편리합니다. 점검 완료 후에는 Wi-Fi SSH를 비활성화하고, 불필요한 포트는 닫아두는 것을 권장합니다.
iOS SSH alpine 패스워드 오류 해결법
palera1n으로 탈옥한 iPhone에서 SSH 접속 시 기본 패스워드인 alpine이 거부되는 현상의 원인과 4가지 해결 방법을 정리합니다.
1. 오류 증상
iproxy를 통해 SSH 접속 시 기본 패스워드
alpine을 입력해도 접속이 거부됩니다.패스워드를 정확히 입력해도 반복적으로 실패하며, 3회 시도 후 연결이 자동으로 끊깁니다.
2. SSH 연결 구조 이해
오류 원인을 파악하기 전에, palera1n 환경에서의 SSH 연결 구조를 먼저 이해해야 합니다. 일반적인 SSH와 달리 포트와 인증 서버가 다릅니다.
연결 흐름: Mac →
ssh root@localhost -p 2222→ iproxy(2222→44, USB 포트포워딩) → iPhone Dropbear SSH Server(포트 44, PAM 인증)palera1n이 설치하는 Dropbear SSH 서버는 기본 포트로 44를 사용합니다. iproxy 설정도
iproxy 2222 44로 맞춰야 합니다.원인 분석
alpine 패스워드 오류는 주로 아래 두 가지 원인 중 하나에서 발생합니다.
UNIX authentication refused가 발생합니다.!)로 남아 있는 경우입니다.해결법 1 — NewTerm으로 기기에서 직접 passwd 변경
SSH를 우회하여 기기 터미널에서 직접 패스워드를 변경하는 방법입니다. SSH 접속 없이 처리할 수 있어 가장 확실합니다.
1.1 Sileo에서 NewTerm 3 설치
Sileo 앱을 실행하고 Search 탭에서 NewTerm 3을 검색하여 설치합니다.
1.2. NewTerm에서 패스워드 변경
NewTerm을 실행하고 아래 명령을 입력합니다.
Mac으로 돌아와 변경한 패스워드로 SSH 접속을 확인합니다.
해결법 2 — Filza로 master.passwd 직접 수정
터미널 명령 없이 GUI로 패스워드 설정 파일을 직접 수정하는 방법입니다.
/etc/master.passwd파일의 root 패스워드 필드가!(잠금 상태)로 설정된 것이 원인이며, 이를 alpine의 해시값으로 직접 교체합니다.2.1. 패스워드 해시값 생성
Mac 브라우저에서 DES crypt 해시 생성 사이트에 접속합니다. Password에
alpine, Salt에 임의의 문자열을 입력하고 Encrypt를 클릭합니다.DES crypt는 Salt를 해시값 앞에 포함시켜 저장합니다. Salt 없이 고정값
/smx7MYTQIi2M(alpine의 사전 계산 해시)을 직접 사용해도 동일하게 동작합니다.2.2. Sileo에서 Filza 설치
Filza는 기본 저장소에 없으므로, Chimera 저장소를 먼저 추가해야 합니다.
https://repo.chimera.shFilza검색 후 설치2.3. /etc/master.passwd 열기 및 수정
Filza를 실행하고
/etc/master.passwd로 이동하여 텍스트 편집기로 파일을 엽니다. root 행의 두 번째 필드(패스워드 해시 자리)가!로 되어 있으면 복사해둔 해시값으로 교체하고 저장합니다./etc/master.passwd와/private/etc/master.passwd는 심볼릭 링크 관계입니다. 어느 경로로 접근해도 동일한 파일입니다. 수정 전 파일을 별도로 백업해두는 것을 권장합니다.해결법 3 — SSH 공개키 인증으로 패스워드 우회
패스워드 인증은 실패해도 공개키 인증은 독립적으로 동작합니다. NewTerm에서 Mac의 공개키를 기기에 직접 등록합니다.
1. Mac에서 공개키 확인
2. NewTerm에서 authorized_keys 등록
3. Mac에서 키 인증으로 접속
해결법 4 — PATH 수동 설정 후 passwd 실행
iproxy SSH 세션의 기본 환경에서는 PATH가 제한되어
passwd명령이 없는 것처럼 보입니다. procursus 경로를 직접 추가하면 해결됩니다. 이미 키 인증 등으로 SSH 접속에 성공한 상태에서 사용합니다.SSH 접속 자체가 불가능한 경우에는 해결법 1(NewTerm), 해결법 2(Filza), 또는 해결법 3(공개키)를 먼저 적용해야 합니다.
변경 후 확인
패스워드 변경 완료 후 아래 순서로 최종 동작을 확인합니다.
패스워드 변경 후 공개키 인증도 함께 설정해두면 이후 작업이 편리합니다. 점검 완료 후에는 Wi-Fi SSH를 비활성화하고, 불필요한 포트는 닫아두는 것을 권장합니다.
신원상 | sws@cela.kr