一.SSH、OpenSSH简单介绍
SSH: Secure Shell的缩写,意思是"安全外壳协议",是一种可以为远程登录提供保障安全的协议 使用SSH,可以把所有的传输数据进行加密,“中间人”攻击方式就是不可能实现能防止DNS欺骗和IP欺骗
OpenSSH
是SSH协议的免费开源发现
可以通过OpenSSH的方式让Mac远程登录到iPhone
二.使用 OpenSSH 实现远程登录
要时间远程登录前提必须是: 1.在已经越狱的手机上安装OpenSSH工具 2.由于SSH是通过TCP协议通信,所以要确保Mac和iPhone在通一个局域网下,比如连接这同一个Wifi
1.登录步骤
在Mac的终端输入 ssh账户名@服务器主机地址(手机)
例如:ssh root@192.168.100.** (这里的服务器是手机)
密码默认:alpine
退出 :exit
2.root和mobile:
ios下有两个常用账户root、mobile
2.1:root
root:最高权限账户,$HOME是/var/root
登录:ssh root@192.168.100.**
默认密码:alpine
2.2.mobile
mobile:普通权限用户 登录mobile:ssh mobile@192.168.100.**
默认密码:alpine
2.3root和mobile登录密码修改
修改root和mobile用户的登录密码(登录root账号后,分别通过passwd,passwd mobile完成)
三.SSL、OpenSSL
SSL: Secure Socket Layer的缩写,是为网络通信提供安全及数据完成性的一种安全协议,在传输层对网络进行加密
OpenSSL:SSL的开源实现 绝大部分HTTPS请求等价于:HTTP+OpenSSL OpenSSH的加密就是通过OpenSSL完成的
四.SSH版本
SSH协议一共有两个版本:SSH-1、SSH-2
现在用的比较多的是SSH-2,
客户端和服务端要保持一致才能通信
查看SSH版本(查看配置文件的Protocol字段)
- Mac客户端: 终端命令:cd /etc/ssh cd /etc/ssh
cat ssh_config
2. Ipone服务端:
cd /etc/ssh
cat ssh_config
SSH的通信过程 主要分为3大主要阶段 建立安全连接、客户端认证、数据传输
建立安全连接 在建立安全连接过程中,服务器会提供自己的身份证明
如果客户端无服务端的公钥信息,就会询问是否连接此服务器
在建立安全连接过程中,可能遇到以下错误信息:提醒服务器的身份信息发生变更
如果确定要连接此服务器,删除掉之前的服务器的公钥信息就行
命令:ssh-keygen -R 服务器的IP地址
或者直接打开known_hosts文件删除服务器的公钥信息就行
五.客户端认证
5.1常用的客户端认证方式
- 基于密码的客户端认证:
使用账号密码即可认证 - 基于秘钥的客户端认证:
免密码认证最安全的一种认证方式
SSH-2默认会有限尝试“秘钥认证”,如果认证失败,才会尝试“密码认证” 建立基于秘钥的免密码认证流程
5.2具体的实现流程
5.2.1生成id_rsa(私钥文件)和id_rsa.pub(公钥文件)
ssh-keygen -t rsa(指定算法) 使用ssh默认就是rsa算法
如图确定生成
id_rsa(私钥文件)和id_rsa.pub(公钥文件)
5.2.2将id_rsa.pub(公钥文件)追到到授权文件尾部
ssh-copy-id root@192.168.100.99