iOS越狱-使用OpenSHH远程登录iPhone手机

终端指令

ssh root@手机IP
  • 1.确保Mac电脑和手机连接是同一个WiFi,每次更换WiFi连接,IP地址会改变
  • 2.手机已经越狱,并且在Cydia成功安装了OpenSHH
iOS下有2个常用账户:`root`和`mobile`
root:最高权限账户,$HOME是/var/root
mobile:普通权限账户,只能操作一些普通文件,不能操作系统界别的文件,$HOME是/var/mobile

如何查看手机ip地址

点击手机所连接的WiFi,便可以查到IP地址

示例

IP地址 192.168.9.57

以下iPhone手机==服务器,客户端==Mac电脑
如果是第一次使用OpenSHH远程登陆服务器,终端就会询问是否要建立连接此服务器

lidongxi:.ssh lidongxi$ ssh [email protected]
The authenticity of host '192.168.9.57 (192.168.9.57)' can't be established.
RSA key fingerprint is SHA256:CnKbWpr/8EFPRUKH/L6vw6sI7YSU9hVhe/nOhWkxD34.
Are you sure you want to continue connecting (yes/no)? yes

输入yes,表示客户端与服务器建立连接

Warning: Permanently added '192.168.9.57' (RSA) to the list of known hosts.
[email protected]'s password: 

随后要求输入密码:默认密码是alpine,如果修改过密码,使用新密码
判断是否连上服务器
终端出现~ root#
示例

Administratorde-iPhone:~ root#

如何关闭远程登陆
终端输入exit
如何修改root或者mobile账户密码
登陆root后,输入终端指令

passwd

服务器身份信息变更问题

中间人攻击: 客户端发出请求,服务端收到响应,返回对应的公钥和ip,如果这个公钥和客户端的存储的公钥不一致,但是ip确实同一个,就有可能发生中间人攻击,别人的服务器,伪造的了相同的ip
如果确定了不是中间人攻击,就是自己所需要连接的服务器,那么该怎么解决这个问题?

删除客户端的公钥,重新建立连接

终端指令,注意此处是删除的客户端公钥,要退出登录状态

ssh-keygen -R 服务器IP地址

或者使用vim编辑器删除

vim ~/.ssh/known_hosts

找到对应的ip(示例:192.168.9.5)和公钥(ssh-rsa开头) 所在行开头,双击d
退出vim ->esc键 :wq

SSH简介

SSH: Secure Shell的缩写,"安全外壳协议",是一种可以为远程登录提供安全保障的协议
使用SSH,可以把所有传输的数据进行加密,"中间人"攻击方式就可能实现,能防止DNS欺骗和IP欺骗

OpenSSH简介

是SSH协议的免费开源实现
通过OpenSSH的方式,让Mac远程登录到iPhone

SSH的客户端认证方式有两种

  • 1.基于密码的客户端认证:使用账号密码即可认证
  • 2.基于密钥的客户端认证:免密码输入

SSH默认优先尝试"密钥认证",如果认证失败,才会尝试"密码认证"

SSH基于秘钥的客户端认证

  • 1.在客户端生成一对关联的密钥(Key Pair):一个公钥(Public Key),一个私钥(Private Key)
    终端指令
ssh-keygen
  • 2.把客户端的公钥内容追加到服务器的授权文件(~/.ssh/authorized_keys)尾部
    终端指令
ssh-copy-id root@服务器主机地址

ssh-copy-id会将客户端~/.ssh/id_rsa.pub的内容自动追加到服务器的~/.ssh/authorized_keys尾部

只需要以上简单两步即可实现基于密钥的客户端认证,再次输入账号尝试登录服务器,发现不需要输入密码了

如果发现通过以上两步,还是需要输入密码,则可能是服务器授权文件或者对应的文件路径没有权限,需要在服务器端设置

chmod 755 ~
chmod 755 ~/.ssh
chmod 644 ~/.ssh/authorized_keys

SSL简介

SSL: Secure Sockets layer的缩写,是为网络通信提供安全及数据完整性的一种安全协议,在传输层对网络进行加密

OpenSSL简介

是SSL协议的免费开源实现
绝大部分HTTPS请求等价于:HTTP + OpenSSL
OpenSSH的加密就是通过OpenSSL完成的

你可能感兴趣的:(iOS越狱-使用OpenSHH远程登录iPhone手机)