電腦通過ssh連接手機(jī)
ssh root@192.168.1.35
192.168.1.35
為手機(jī)的ip地址层宫,root為用戶級別,root為最高權(quán)限窗慎,還有mobile,連接mobile用戶遮斥,可以使用下面的指令昆庇,原始密碼為alpine, ssh root@服務(wù)器主機(jī)地址
ssh mobile@192.168.1.35
退出連接
exit
以上可以通過iPhone:~ root
#
和iPhone:~ mobile$
中表蝙,#
和$
可以區(qū)分開是最高權(quán)限用戶,還是普通用戶蚪黑,“#
”一般代表最高用戶,“$
”一般代表不是最高用戶
修改root權(quán)限的密碼
//修改root下的密碼
passwd
修改mobile用戶的密碼
//修改mobile下的密碼
passwd mobile
通過Cydia安裝的安裝包是deb
格式的(結(jié)合軟件包管理工具apt
),通過pp助手或其他的安裝包是ipa
格式的
- 1.如果通過Cydia源安裝deb失敗,可以從網(wǎng)上下載deb格式的安裝包甚侣,
- 2.然后將deb安裝包放到/var/root/Media/Cydia/AutoInstall
- 3.重啟手機(jī)明吩,Cydia會自動安裝deb
如果自己手機(jī)上沒有這個AutoInstall文件夾,可以自己創(chuàng)建一個殷费,cd到/var/root/Media/Cydia路徑下印荔,使用
mkdir
創(chuàng)建文件夾低葫,可以用rm
刪除文件夾
使用rm既可以刪除文件又可以刪除文件夾
刪除文件夾(無論文件夾是否為空),使用 -rf 命令即可仍律。
即:rm -rf 目錄名字
-r 就是向下遞歸嘿悬,不管有多少級目錄,一并刪除
-f 就是直接強(qiáng)行刪除水泉,不作任何提示的意思
刪除文件夾實例:
rm -rf AutoInstall
查看當(dāng)前路徑的方法
pwd
echo $HOME
SSH
ssh為Secure Shell的縮寫善涨,意為“安全外殼協(xié)議”,是一種可以為遠(yuǎn)程登錄
提供安全保障的協(xié)議
OpenSSH
- 是ssh協(xié)議的免費開源實現(xiàn)
- 可以通過OpenSSH的方式讓Mac遠(yuǎn)程登錄到iPhone
SSL
- SSL為Secure Sockets Layer的縮寫茶行,是為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議躯概,在傳輸層對網(wǎng)絡(luò)連接進(jìn)行加密
Open SSL
- SSL的免費開源實現(xiàn)
- 絕大部分HTTPS請求等價于:HTTP + OpenSSL
- OpenSSH的加密就是通過OpenSSL完成的
SSH的版本
- SSH協(xié)議一共2個版本
SSH-1
SSH-2
現(xiàn)在用的比較多的是SSH-2,客戶端和服務(wù)端版本要保持一致才能通信
查看SSH版本(查看配置文件的Protocol字段)
客戶端:/etc/ssh/ssh_config
服務(wù)端:/etc/ssh/sshd_config
查看config
cat ssh_config
SSH的通信過程可以分為3大主要階段
- 建立安全連接
- 在建立安全連接過程中畔师,服務(wù)器會提供自己的身份證明娶靡,服務(wù)器會把公鑰發(fā)送到客戶端,客戶端把服務(wù)端的公鑰信息看锉,存儲在
~/.ssh/known_hosts
中
服務(wù)器提供身份證明
查看客戶端存儲的服務(wù)端的公鑰信息
cat known_hosts
gitee.com,218.11.0.86 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMuEoYdx6to5oxR60IWj8uoe1aI0X1fKOHWOtLqTg1tsLT1iFwXV5JmFjU46EzeMBV/6EmI1uaRI6HiEPtPtJHE=
192.168.1.9 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtWSE5z6M/rWldIo6XaN4jdjaO380Mh5cN4G0D8l8tjWb+SFGxv4EoZm3t+MaI19KbIXT4np4sE/nBhH35Ar7VRv8vta3ZXgBcecAhj+SNhuG66anzkDhPQbyuxI3xX9E/MAtrc1VGxeqFcUyJp/nBkSeqIIv9VnwET2dbvR7xmvRn9GcKL8E1nR6yzPb5mUCcae5QjMnFDYwxrwhiXiLH591V3zZJdxM4hTBh1z8f1tysJMet3VVsGEWFivAg4JKQaa8i8bD0NcoYzM2KyTlVcesltUbjY4gr9CUDwBWtkdZGA0qDg37beNtqC29IKhqwtbKWqA7OAEQ0mx01nT09
192.168.1.212 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtWSE5z6M/rWldIo6XaN4jdjaO380Mh5cN4G0D8l8tjWb+SFGxv4EoZm3t+MaI19KbIXT4np4sE/nBhH35Ar7VRv8vta3ZXgBcecAhj+SNhuG66anzkDhPQbyuxI3xX9E/MAtrc1VGxeqFcUyJp/nBkSeqIIv9VnwET2dbvR7xmvRn9GcKL8E1nR6yzPb5mUCcae5QjMnFDYwxrwhiXiLH591V3zZJdxM4hTBh1z8f1tysJMet3VVsGEWFivAg4JKQaa8i8bD0NcoYzM2KyTlVcesltUbjY4gr9CUDwBWtkdZGA0qDg37beNtqC29IKhqwtbKWqA7OAEQ0mx01nT09
192.168.1.35 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtWSE5z6M/rWldIo6XaN4jdjaO380Mh5cN4G0D8l8tjWb+SFGxv4EoZm3t+MaI19KbIXT4np4sE/nBhH35Ar7VRv8vta3ZXgBcecAhj+SNhuG66anzkDhPQbyuxI3xX9E/MAtrc1VGxeqFcUyJp/nBkSeqIIv9VnwET2dbvR7xmvRn9GcKL8E1nR6yzPb5mUCcae5QjMnFDYwxrwhiXiLH591V3zZJdxM4hTBh1z8f1tysJMet3VVsGEWFivAg4JKQaa8i8bD0NcoYzM2KyTlVcesltUbjY4gr9CUDwBWtkdZGA0qDg37beNtqC29IKhqwtbKWqA7OAEQ0mx01nT09
查看服務(wù)端的公鑰信息,1.先連接到手機(jī)姿锭,2. cd 到/etc/ssh路徑下
cat ssh_host_rsa_key.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtWSE5z6M/rWldIo6XaN4jdjaO380Mh5cN4G0D8l8tjWb+SFGxv4EoZm3t+MaI19KbIXT4np4sE/nBhH35Ar7VRv8vta3ZXgBcecAhj+SNhuG66anzkDhPQbyuxI3xX9E/MAtrc1VGxeqFcUyJp/nBkSeqIIv9VnwET2dbvR7xmvRn9GcKL8E1nR6yzPb5mUCcae5QjMnFDYwxrwhiXiLH591V3zZJdxM4hTBh1z8f1tysJMet3VVsGEWFivAg4JKQaa8i8bD0NcoYzM2KyTlVcesltUbjY4gr9CUDwBWtkdZGA0qDg37beNtqC29IKhqwtbKWqA7OAEQ0mx01nT09
可以看到上面兩個字符串是一樣的,這樣就證明客戶端伯铣,連接服務(wù)器的時候呻此,服務(wù)器會把公鑰發(fā)送給客戶端,客戶端會把公鑰存儲在"~/.ssh/known_hosts"路徑
-
如果客戶端并無服務(wù)端的公鑰信息腔寡,就會詢問是否連接這個服務(wù)器
~/.ssh ssh root@192.168.1.35
The authenticity of host '192.168.1.35 (192.168.1.35)' can't be established.
RSA key fingerprint is SHA256:MUn9itUDKqO4oMmXp0neLGfXIL7XBAdXBac8MJ3Tn90.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
-
在建立安全連接過程中焚鲜,可能會遇到提醒服務(wù)器的身份發(fā)生了改變
1.可以使用命令刪除客戶端存儲的之前服務(wù)端的公鑰信息
ssh-keygen -R 192.168.1.35
ssh-keygen -R 服務(wù)器IP地址,上面的192.168.1.35
為服務(wù)器的地址
2.也可以使用vim直接打開,并刪除公鑰信息,然后保存退出vim
vim ~/.ssh/known_hosts
3.刪除完成后放前,再次登錄時候忿磅,就會出現(xiàn)授權(quán)的提示,并把服務(wù)器的公鑰信息保存到客戶端的~/.ssh/known_hosts
中
-SSH-2提供了2種常用的客戶端認(rèn)證方式
1.基于密碼的客戶端認(rèn)證:使用賬號和密碼即可認(rèn)證
2.基于秘鑰的客戶端認(rèn)證:免密碼認(rèn)證凭语,最安全的一種認(rèn)證方式
SSH-2默認(rèn)會優(yōu)先嘗試“秘鑰認(rèn)證”葱她,如果認(rèn)證失敗,才會嘗試密碼認(rèn)證
- 客戶端生成公鑰和私鑰一對文件
ssh-keygen
一路敲回車鍵(Enter)即可
OpenSSH默認(rèn)生成的是RSA密鑰似扔,可以通過-t參數(shù)指定密鑰類型
生成的公鑰:~/.ssh/id_rsa.pub
生成的私鑰:~/.ssh/id_rsa
- 把客戶端的公鑰內(nèi)容追加到服務(wù)端的授權(quán)文件(
~/.ssh/authorized_keys
)尾部吨些,使用命令ssh-copy-id root@服務(wù)器主機(jī)地址
,root就是用戶名字
ssh-copy-id root@192.168.1.35
ssh-copy-id
會將客戶端~/.ssh/id_rsa.pub
的內(nèi)容自動追加到服務(wù)器的~/.ssh/authorized_keys
尾部
注意:由于是在~文件夾下操作,所以上述操作僅僅是解決了root用戶的登錄問題(不會影響mobile用戶)
可以查看服務(wù)端的授權(quán)文件
cat ~/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7BbLYAN0MshadL+lDtu9/A7zrhVMfN90XlAgjVEbUYC0US+SOMO7rEUT5Y01ClaGnA+sIGjE0J4Nbes8dH69OpP8H20bw1zaPAKnGzzVxMuK38uCfdyy3JtDXK1MtIiNITriFsuV8gPn28XyjBs/qyhSmkjufyLpwkIeXHuj66xd0tF1VVBoqkIWi9+SAwy/lE/7QL8B5DnuyXa1TUEZR4RaHkNPPwp1KMIb89cDAsiOJ2BIaMFrc63cXklbdZPj0do/yjQBzrt4/yX9oa6xfGMJFqmEMn5+hXi8Y9bgwntveuETWfOvAw2PHGCEtKiSotAhmJgoq6FX4H1I++Da/ xjg__19880728@163.com
查看下客戶端的公鑰和服務(wù)端的授權(quán)文件中的文件是否一樣
cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7BbLYAN0MshadL+lDtu9/A7zrhVMfN90XlAgjVEbUYC0US+SOMO7rEUT5Y01ClaGnA+sIGjE0J4Nbes8dH69OpP8H20bw1zaPAKnGzzVxMuK38uCfdyy3JtDXK1MtIiNITriFsuV8gPn28XyjBs/qyhSmkjufyLpwkIeXHuj66xd0tF1VVBoqkIWi9+SAwy/lE/7QL8B5DnuyXa1TUEZR4RaHkNPPwp1KMIb89cDAsiOJ2BIaMFrc63cXklbdZPj0do/yjQBzrt4/yX9oa6xfGMJFqmEMn5+hXi8Y9bgwntveuETWfOvAw2PHGCEtKiSotAhmJgoq6FX4H1I++Da/ xjg__19880728@163.com
- 還可以使用另外一種方法炒辉,把客戶端的公鑰文件豪墅,追加到服務(wù)端的授權(quán)文件后
1.先刪除服務(wù)器上的授權(quán)文件;
cd ~/.ssh
rm authorized_keys
2.拷貝客戶端的公鑰到服務(wù)器上的~/.ssh
路徑里面
scp ~/.ssh/id_rsa.pub root@192.168.1.35:~/.ssh
注意 在服務(wù)器后面添加路徑的時候必須得用個:
,才能添加路徑
3.把客戶端的公鑰追加到服務(wù)器的authorized_keys
中
cat id_rsa.pub >> authorized_keys
相當(dāng)于把id_rsa.pub
文件的內(nèi)容追加到authorized_keys
的尾部辆脸,如果沒有authorized_keys
這個文件但校,就會新建一個這個文件
***如果都配置了,還是不能秘鑰登錄啡氢,可能是文件權(quán)限的問題,需要在服務(wù)器端設(shè)置文件權(quán)限
**
chmod 755 ~
chmod 755 ~/.ssh
chmod 644 ~/.ssh/authorized_keys
iPhone默認(rèn)是使用22端口進(jìn)行SSH通信状囱,采用的是TCP協(xié)議
-有兩種方法可以登錄,不使用wifi的情況下倘是,使用usb數(shù)據(jù)線連接
1.下載usbmuxd工具包(下載v1.0.8版本亭枷,主要用到里面的一個python腳本:tcprelay.py)
下載地址
2.將iPhone的22端口(SSH端口)映射到Mac本地的10010端口
cd Documents/usbmuxd
執(zhí)行端口的映射
python tcprelay.py -t 22:10010
加上-t參數(shù)是為了能夠同時支持多個SSH連接
注意如果出現(xiàn)下面這個錯誤提示
-. 先查看hosts的文件,看看里面的文件有沒有
127.0.0.1 hostname
搀崭,沒有加入主機(jī)名 127.0.0.1 hostname
vim /etc/hosts
我的問題是使用了switchHosts
這個軟件叨粘,進(jìn)行了修改,修改過了就可以了
3.使用usb連接手機(jī)
ssh root@localhost -p 10010
localhost
是一個域名瘤睹,指向的IP地址是127.0.0.1升敲,本機(jī)虛擬網(wǎng)卡的IP地址
如果出現(xiàn)kex_exchange_identification: read: Connection reset by peer,是因為數(shù)據(jù)線沒有連接好,拔下來重新連接下就可以了
4.選項映射錯誤的時候轰传,也可以使用這個方法驴党,進(jìn)行端口映射
-.1先安裝usbmuxd
brew install usbmuxd
-.2iproxy
這個工具會將設(shè)置上的端口號,映射到電腦的某一個端口上
iproxy 10010 22
以上的命令就是把設(shè)備的22端口(SSH端口)映射到電腦的10010端口上获茬,那么想和設(shè)備22端口通信港庄,直接和本地的10010端口通信就可以了
-.3連接設(shè)備
ssh -p 10010 root@127.0.0.1
-.第二種方法連接設(shè)備
-.1.先安裝usbmuxd
brew install usbmuxd
-.2.iproxy
這個工具會將設(shè)置上的端口號,映射到電腦的某一個端口上
iproxy 10010 22
出現(xiàn)waiting for connection,這個表示映射已經(jīng)成功了
-.3.連接設(shè)備恕曲,不要關(guān)閉這個窗口鹏氧,(要重新打開一個窗口,使用command+T
創(chuàng)建一個新的窗口,要是關(guān)閉了佩谣,這個端口映射就斷開了)
ssh -p 10010 root@127.0.0.1
遠(yuǎn)程拷貝文件也可以直接跟Mac本地的10010端口通信
cp -P 10010 ~/Desktop/123.txt root@localhost:~
將Mac上的/Desktop/123.txt文件把还,拷貝到iPhone上的路徑,(~
表示用戶路徑)
注意:scp的端口號參數(shù)是大寫的-P
使用腳本文件進(jìn)行登錄
我們可以把將經(jīng)常執(zhí)行的一系列終端命令行放到sh腳本文件中(shell),然后執(zhí)行腳本文件
-.可以通sh,bash,source命令來執(zhí)行sh腳本文件
sh茸俭、bash當(dāng)前shell環(huán)境會啟動一個子線程來執(zhí)行腳本文件吊履,執(zhí)行完成后返回到父進(jìn)程的shell環(huán)境
source在當(dāng)前的shell環(huán)境下執(zhí)行腳本文件
創(chuàng)建腳本文件
在用戶目錄下,創(chuàng)建腳本
vim usb.sh
里面添加"python ~/Documents/usbmuxd/tcprelay.py -t 22:10010",設(shè)置端口的映射
創(chuàng)建腳本
vim login.sh
里嗎添加“ssh -p 10010 root@localhost”瓣履,連接手機(jī)的命令
以上兩個腳本創(chuàng)建完成率翅,可以快速創(chuàng)建端口映射和連接手機(jī),分別執(zhí)行這連個腳本袖迎,(注意執(zhí)行完成第一個腳本冕臭,再開一個新窗口,執(zhí)行第二個腳本)
sh usb.sh
sh login.sh
手機(jī)終端不能輸入中文的問題
-.默認(rèn)情況下燕锥,ios終端不支持中文輸入和顯示
解決方案:先進(jìn)一個~/.inputrc
文件辜贵,文件內(nèi)容是
不將中文字符轉(zhuǎn)化為轉(zhuǎn)義序列
set convert-meta off
允許向終端輸出中文
set output-meta on
允許向終端輸入中文
set meta-flag on
set input-meta on
vim .inputrc
注意vim .inputrc中的.
然后重啟終端,然后就可以在終端輸入中文了
-.如果想在終端編譯文件內(nèi)容归形,可以通過Cydia安裝一個vim托慨,這樣就可以使用vim命令來創(chuàng)建文件了