iOS 10.2에서 iPhone 6s를 성공적으로 탈옥했습니다.
Cydia를 통해 OpenSSH를 설치하고 MobileTerminal을 통해 기본 비밀번호를 변경했습니다.
유일한 문제는 내가 실행할 때 ssh root@my_iPhone_ip_addr
멈추고 연결되지 않는다는 것입니다.
SSH 토글 스프링 보드 응용 프로그램을 시도했지만 여전히 정지합니다.
터미널 명령이나 다른 방법으로 전화에서 SSH를 활성화하는 방법이 있습니까?
답변
OpenSSH는 iOS 10.2와 호환되지 않으며 이후 릴리스의 탈옥에서 작동하지 않습니다. OpenSSH와 OpenSSL (종속성)을 모두 제거해야합니다.
답변
내장 된 Dropbear를 사용해야합니다. Yalu Beta 6부터는 먼저 SSH over USB를 사용해야합니다. 그런 다음 암호를 변경 한 후 다른 인터페이스에서 Dropbear를 활성화 할 수 있습니다.
Linux 또는 macOS :
- ocaml-usbmux github 페이지 에서 간달프 바이너리 (제로 운 컴파일이 있음)를 다운로드 하십시오. macOS : 간달프 _ 다윈 _10_11_x86_64
- USB 케이블을 통해 장치를 연결하고 스캔하십시오.
- udid를 매핑 파일에 넣습니다. device_port 22 (ssh)가 맵핑되었는지 확인하십시오!
- 매핑 파일로 gandalf를 실행하십시오.
- 맵핑 파일에서 device_port 22에 해당하는 local_port에 대한 SSH.
- alpine 비밀번호로 로그인하십시오.
- 비밀번호 변경 !!!
주사
$ gandalf
샘플 매핑 파일
[{"udid":"9cdfac9f74c5e18a6eff3611c0927df5cf4f2eca",
"name":"i11", "forwarding": [{"local_port":2000, "device_port":22},
{"local_port":3000, "device_port":1122}]
}]
매핑 파일로 Gandalf 실행
$ gandalf -m myMappingFile.txt
포트 2000에 대한 SSH
$ ssh mobile@localhost -p 2000
비밀번호 변경
$ passwd
$ su
$ passwd root
이제 iOS 장치를 사용하고 있으므로 ( 암호가 변경 되었습니까? ) 다음과 같이 다른 인터페이스에서 Dropbear를 활성화 할 수 있습니다.
- LaunchDaemon 파일을 만들어 Dropbear의 두 번째 인스턴스를 시작하십시오.
- 재부팅 또는 사용
launchctl load
LaunchDaemon 파일을 작성하십시오.
$ cd /Library/LaunchDaemons
$ cat <<EOF > ssh10022.plist
이것을 터미널에 붙여 넣으십시오.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>SSH port 10022</string>
<key>Program</key>
<string>/usr/local/bin/dropbear</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/dropbear</string>
<string>-F</string>
<string>-R</string>
<string>-p</string>
<string>10022</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
입력을 끝내려면 Ctrl-D를 입력하십시오. 이제 ssh10022.plist 파일이 생성됩니다.
재부팅 또는 launchctl 사용
launchctl load /Library/LaunchDaemons/ssh10022.plist
이슈 :
Dropbear는 모바일 홈 디렉토리에 대한 iOS 기본 권한을 좋아하지 않으므로 SSH 키 인증이 작동하지 않습니다. 재부팅 할 때마다 비밀번호로 로그인하고 권한을 수정해야합니다.
$ chmod go-w /var/mobile
Dropbear를 디버깅하려면 : Dropbear 로그를 stderr로 리디렉션합니다 (아래 예는 포트 10023에서 또 다른 인스턴스를 실행합니다).
$ dropbear -E -p 10023
답변
10.2 탈옥으로 wifi를 통해 ssh에 연결할 수 없습니다. USB를 통해 ssh해야합니다. 몇 가지 옵션이 있지만 가장 쉬운 방법은 사용하는 것 iproxy
입니다.
-
iproxy 설치
brew install libimobiledevice
-
터미널에서 이제 다음 명령을 실행하십시오.
iproxy 2222 22
이렇게하면 USB를 통해 포트 2222에서 포트 22로 모든 트래픽을 전달할 수 있습니다.
-
이제 ssh를 실행하여 iPhone에 연결할 수 있습니다
ssh root@localhost -p 2222
localhost
휴대 전화의 IP 주소 가 아닌 연결 에 유의하십시오. 모든 것이 잘 진행되면 ssh 프롬프트가 표시되어야합니다.
작동하지 않으면 ssh가 iPhone에서 실행 중인지 확인하십시오.
telnet <iphone-ip-address-here> 22
연결할 수없는 경우 openssh
Cydia 에서 패키지 를 설치하십시오 .
답변
@Colin 율루 (Yulu) 탈옥에 대한 훌륭한 답변이 있지만 사람들에게 유용 할 수있는 약간 다르게 행동했습니다. 그의 대답은 새 이름으로 새 데몬을 만드는 데 중점을 두어 효과적으로 SSH를 실행하는 두 개의 데몬을 갖습니다. 하나는 USB 용이고 다른 하나는 다른 TCP 연결 용입니다. 모든 인터페이스에서 청취하는 하나의 청취자가 필요했습니다. 나는 또한 Windows에 있었고 Galdolf 가하지 않은 그와 함께 작동하는 무언가가 필요했습니다. 그 결과 나는 갔다 파이썬 스크립트 내가 갈래 있는지 그것이 나에 사라 결코 만들 수 있습니다.
이것을 사용하려면 다음을 실행하십시오.
python usbmuxd\pythonclient\tcprelay.py -t 22:2222
위의 내용은 로컬 포트 2222를 원격 포트 22에 매핑합니다. 이것이 설정되면 선호하는 SSH 유틸리티를 사용하여 연결할 수 있습니다. Putty를 사용했습니다 .
- 호스트 : 127.0.0.1
- 포트 : 2222
“root”의 기본 사용자 이름과 “alpine”의 암호이지만 “mobile”의 사용자 이름과 “alpine”의 암호도 연결할 수 있습니다.
참고 : 루트 암호를 모르는 경우 Filza를 사용하여 /etc/master.passwd의 권한을 666으로 변경 한 다음 SSH를 통해 모바일 사용자로 사용하거나 즐겨 사용하는 파일 편집기를 사용하여 해시를 복사하도록 해당 파일을 편집하십시오. 비밀번호를 동일하게하려면 “mobile”에서 “root”로 “알파인”의 해시는 “필요한 경우”/ smx7MYTQIi2M “입니다. 그런 다음 루트로 로그인하거나 su를 사용할 수 있어야합니다.
로그인하면 현재 컴퓨터에있는 droplist.plist의 복사본을 찾고 싶을 것입니다. 더 효율적인 방법이 있지만 다음 명령을 사용했습니다.
find . | grep dropbear.plist
산출량 :
./Library/LaunchDaemons/dropbear.plist
./private/var/containers/Bundle/Application/023FF836-8A0A-4593-A578-6801F2A3F34D/yalu102.app/dropbear.plist
첫 번째 항목은 활성 데몬이지만 두 번째 항목이 더 중요합니다. Yulu가 탈옥을 실행할 때마다 배치하는 데몬입니다 (재부팅 할 때마다 수행). /Library/LaunchDaemons/dropbear.plist 만 편집하면 재부팅 할 때마다 교체됩니다.
결과적으로 Yulu와 함께 제공되는 파일을 편집 할 것입니다. 그러나 파일을 정리하면 이진 PLIST 형식으로 표시됩니다. 이 문제를 해결하려면 plutil을 얻기 위해 Erica Utilities 가 필요합니다 . 그런 다음 다음을 실행할 수 있습니다.
plutil -xml dropbear.plist
dropbear.plist를 XML 형식으로 변환합니다. 이 작업이 완료되면 텍스트 편집기에서 파일을 편집 할 수 있습니다. 나는 실제 편집을 위해 nano 를 사용했습니다 .
예 :
nano dropbear.plist
파일을 편집 할 때 마지막 문자열 항목에서 “localhost :”를 제거하려고합니다. 루프백 인터페이스 대신 모든 인터페이스에서 리스너를 실행합니다 (USB를 통해서만 사용 가능). 결과적으로 파일은 다음과 같이됩니다.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>ShaiHulud</string>
<key>Program</key>
<string>/usr/local/bin/dropbear</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/dropbear</string>
<string>-F</string>
<string>-R</string>
<string>-p</string>
<string>22</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
이 작업을 마치면 파일을 이진 형식으로 되돌리려 고합니다.
plutil -binary dropbear.plist
이 시점에서 장치를 재부팅하고 재 탈옥 할 때 Yalu dropbear.plist 파일이 올바르게 복사되었는지 확인하는 것이 좋습니다.
예 :
reboot
재부팅 후에는 전화기의 IP 주소와 표준 포트 22를 사용하여 SSH를 수행 할 수 있어야합니다.
예 :
- 호스트 : (IP 설정-> WiFi-> (WIFI 이름)
- 포트 : 22