iOS 10.2에서 OpenSSh를 활성화하는 방법


9

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

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

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

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

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


USB를 통해 ssh를 통해 iPhone 터널을 사용하여 장비에 연결합니다. code.google.com/archive/p/iphonetunnel-mac/downloads
newenglander

답변:


9

이 트윗은 10.2 탈옥이 릴리스되기 전에 이루어 졌으므로 매우 불안정한 10.1.1 탈옥을 언급하고 있다고 확신합니다. 업데이트 된 소스가 있습니까?
Wowfunhappy 2012 년

grgarside의 조언을 따르십시오 : OpenSSH를 제거하십시오. ssh를 다시 얻는 단계별 지침은 내 게시물을 참조하십시오.
콜린

6

내장 된 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

6

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 에서 패키지 를 설치하십시오 .


qwertyoruiop는 jailbreak 작성자 인 OpenSSH를 설치하지 말라고 명시했기 때문에 OpenSSH 설치를 제안하지 않았을 것입니다.
콜린

1
내가 사용하여 연결할 수 없습니다 Dropbear설치하기 위해 내가 가진 내 경우에는, OpenSSH내가 다른 명령 보일으로 베타 탈옥을 기준으로 할 것을 제안 이유의 패키지
조셉

사실이 아닙니다. 10.2 Jailbreak를 사용하여 Wi-Fi를 통해 SSH에 연결할 수 있습니다. 모든 인터페이스에서 청취하도록 dropbear 구성을 업데이트하기 만하면됩니다.
Doug

@Doug는 답변을 편집하고 WiFi를 통한 SSH 활성화에 대한 지침을 제공합니다.
Joseph

3

@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

모든 단계를 설명해 주셔서 감사합니다! 그것은 훨씬 더 미래를 보장합니다. 나는> find을 시도했다. | grep dropbear.plist를 사용하여 LiberIOS 탈옥에서 dropbear 구성을 찾을 수 있지만 구성을 어디에 넣을지 모르겠습니다.
Colin

1
/ Library / LaunchDaemons /로 이동하여 그 안에서 사용한 이름을 알아낼 수 있는지 확인하십시오. 아마도 그들은 어디에서나 같은 이름을 사용했을 것입니다. 이 폴더는 모든 데몬 스크립트가있는 위치이므로 기존 데몬이있는 경우 해당 데몬을 참조해야합니다.
Doug

find를 실행하기 전에 cd /를 잊어 버렸습니다. | grep dropbear.plist. 어.
Colin

이것은 Impactor를 사용하여 장치에 업로드하기 전에 Yalu IPA에서 Dropbear.plist를 해킹 할 것을 제안 할 수 있다는 것을 깨달았습니다. 그러나 macOS에서 Xcode로 바이너리 .plist 파일을 직접 편집 할 수는 있지만 그러한 기능이 Windows 또는 Linux에 있는지 여부는 알 수 없습니다.
콜린

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.