使用OpenSSH連接越獄設(shè)備

聲明:本篇文章已授權(quán)微信公眾號 YYGeeker 獨家發(fā)布。

OpenSSH簡介

OpenSSH(OpenBSD Secure Shell)是 SSH 協(xié)議的免費開源實現(xiàn)。SSH協(xié)議簇可以用來進行遠程控制, 或在計算機之間傳送文件。

越獄設(shè)備安裝 OpenSSH

Cydia中添加雷鋒源,然后搜索OpenSSH,如圖,安裝即可

Cydia中的OpenSSH

Mac電腦連接越獄設(shè)備


通過WIFI連接(需要越獄設(shè)備與電腦在同一局域網(wǎng))

查看手機的IP地址


設(shè)置>>無線局域網(wǎng)

設(shè)置>>無線局域網(wǎng)>>詳情
$ssh root@172.25.237.223

密碼默認(rèn)為

alpine

通過USB連接(比WiFi更快更穩(wěn)定)

  • 安裝usbmuxd
brew install usbmuxd
  • 使用iproxy命令電腦的2222端口轉(zhuǎn)發(fā)到手機的22端口
$iproxy 2222 22
  • 然后command + t另起終端,執(zhí)行ssh命令
$ssh –p 2222 root@localhost

設(shè)置免密登錄


$ssh-keygen
$ssh-copy-id -p 2222 root@localhost

原理
1、客戶端生成RSA公鑰和私鑰
ssh-keygen調(diào)用后,~/.shh目錄中會生成私鑰id_rsa和公鑰id_rsa.pub
2、客戶端將自己的公鑰存放到服務(wù)器
ssh-copy-id -p 2222 root@localhost調(diào)用后,客戶端的公鑰id_rsa.pub會拷貝到服務(wù)器的~/.ssh/authorized_keys里面
3、客戶端請求連接服務(wù)器,服務(wù)器將一個隨機字符串發(fā)送給客戶端
4、客戶端根據(jù)自己的私鑰加密這個隨機字符串之后再發(fā)送給服務(wù)器
5、服務(wù)器接受到加密后的字符串之后用公鑰解密,如果正確就讓客戶端登錄,否則拒絕。這樣就不用使用密碼了。

填坑記


解決REMOTE HOST IDENTIFICATION HAS CHANGED!

場景如下

 $ssh -p 2222 root@localhost
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:uOKypDzp0fdgHbfhzKN9Ci3uiOG54Pmoi4CKOINarfM.
Please contact your system administrator.
Add correct host key in /Users/CHF/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/CHF/.ssh/known_hosts:2
RSA host key for [localhost]:2222 has changed and you have requested strict checking.
Host key verification failed.

這里有一個關(guān)鍵詞man-in-the-middle attack,先來看看wiki的解釋:

中間人攻擊(英語:Man-in-the-middle attack,縮寫:MITM)是指攻擊者與通訊的兩端分別創(chuàng)建獨立的聯(lián)系,并交換其所收到的數(shù)據(jù),使通訊的兩端認(rèn)為他們正在通過一個私密的連接與對方直接對話,但事實上整個會話都被攻擊者完全控制。在中間人攻擊中,攻擊者可以攔截通訊雙方的通話并插入新的內(nèi)容。

使用ssh連接一個新host的時候,會有下面的詢問:

RSA key fingerprint is SHA256:uOKypDzp0fdgHbfhzKN9Ci3uiOG54Pmoi4CKOINarfM.
Are you sure you want to continue connecting (yes/no)? 

輸入yes,ssh就會把這個host對應(yīng)的公鑰,保存在~/.ssh/known_hosts里面。
后面每一次的連接,都會校驗host對應(yīng)的公鑰,與~/.ssh/known_hosts里面的是否匹配,以阻止中間人攻擊。

連接越獄設(shè)備出現(xiàn)這種問題,是因為我們使用usb連接,host寫死為localhost,不同手機的公鑰當(dāng)然不一樣。

  • 解決辦法
    ~/.ssh/known_hosts中刪除localhost對應(yīng)的記錄
[localhost]:2222 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD5UwQeAoQX

解決無法免密登錄的問題

使用 -v 打印debug信息

$ssh -v -p 2222 root@localhost

看到如下日志,Offering public key: RSA服務(wù)器沒有返回,所以定位為越獄機問題

debug1: Offering public key: RSA SHA256:SUmzZ/w6OjWX1H3i1hqWiXlDgUQjUN7YmomMa7fNquk /Users/CHF/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password,keyboard-interactive

查看越獄機日志
/etc/syslog.conf這個是syslog服務(wù)的主要配置文件,根據(jù)定義的規(guī)則導(dǎo)向日志信息。

$cat /etc/syslog.conf
*.* /var/log/syslog
$cat /var/log/syslog | grep sshd

發(fā)現(xiàn)如下日志

sshd[10024]: Authentication refused: bad ownership or modes for directory /private/var/root

google搜索Authentication refused: bad ownership or modes for directory
得知改一下權(quán)限就可以解決

chmod 755 /private/var/root

其他


編輯config文件

$vi ~/.ssh/config

添加下面的代碼

Host chenhuafengde5s
    HostName localhost
    User root
    Port 2222

保存后,我們就可以使用ssh chenhuafengde5s來連接了

刪除SSH服務(wù)器對應(yīng)的公鑰

$ssh-keygen -R 服務(wù)器IP地址

修改ssh登錄密碼的命令

$passwd

然后輸入2次新密碼既可修改成功!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容