iOS 10.2에서 OpenSSh를 활성화하는 방법 변경했습니다. 유일한 문제는 내가

iOS 10.2에서 iPhone 6s를 성공적으로 탈옥했습니다.

Cydia를 통해 OpenSSH를 설치하고 MobileTerminal을 통해 기본 비밀번호를 변경했습니다.

유일한 문제는 내가 실행할 때 ssh root@my_iPhone_ip_addr멈추고 연결되지 않는다는 것입니다.

SSH 토글 스프링 보드 응용 프로그램을 시도했지만 여전히 정지합니다.

터미널 명령이나 다른 방법으로 전화에서 SSH를 활성화하는 방법이 있습니까?



답변


답변

내장 된 Dropbear를 사용해야합니다. Yalu Beta 6부터는 먼저 SSH over USB를 사용해야합니다. 그런 다음 암호를 변경 한 후 다른 인터페이스에서 Dropbear를 활성화 할 수 있습니다.

Linux 또는 macOS :

  1. ocaml-usbmux github 페이지 에서 간달프 바이너리 (제로 운 컴파일이 있음)를 다운로드 하십시오. macOS : 간달프 _ 다윈 _10_11_x86_64
  2. USB 케이블을 통해 장치를 연결하고 스캔하십시오.
  3. udid를 매핑 파일에 넣습니다. device_port 22 (ssh)가 맵핑되었는지 확인하십시오!
  4. 매핑 파일로 gandalf를 실행하십시오.
  5. 맵핑 파일에서 device_port 22에 해당하는 local_port에 대한 SSH.
  6. alpine 비밀번호로 로그인하십시오.
  7. 비밀번호 변경 !!!

주사

$ 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를 활성화 할 수 있습니다.

  1. LaunchDaemon 파일을 만들어 Dropbear의 두 번째 인스턴스를 시작하십시오.
  2. 재부팅 또는 사용 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입니다.

  1. iproxy 설치

    brew install libimobiledevice

  2. 터미널에서 이제 다음 명령을 실행하십시오.

    iproxy 2222 22

    이렇게하면 USB를 통해 포트 2222에서 포트 22로 모든 트래픽을 전달할 수 있습니다.

  3. 이제 ssh를 실행하여 iPhone에 연결할 수 있습니다

    ssh root@localhost -p 2222

localhost휴대 전화의 IP 주소 가 아닌 연결 에 유의하십시오. 모든 것이 잘 진행되면 ssh 프롬프트가 표시되어야합니다.

작동하지 않으면 ssh가 iPhone에서 실행 중인지 확인하십시오.

telnet <iphone-ip-address-here> 22

연결할 수없는 경우 opensshCydia 에서 패키지 를 설치하십시오 .


답변

@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