Mac远程连接iPhone

SSH协议

可以为远程登录提供安全保障的协议
使用SSH,可以把所有传输的数据进行加密,
中间人攻击方式就不可能实现,
能防止DNS欺骗IP欺骗

  • SSH 通讯过程

1.建立安全连接

2.客户端认证

3.数据传输

  • 版本

SSH协议一共2个版本
SSH-1
SSH-2

现在用的比较多的是SSH-2
客户端和服务端版本要保持一致才能通信

查看SSH版本(查看配置文件的Protocol字段)
客户端:/etc/ssh/ssh_config
服务端:/etc/ssh/sshd_config


SSL 协议

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

OpenSSL

SSL的开源实现
绝大部分HTTPS请求等价于:HTTP + OpenSSL

OpenSSH

SSH协议的免费开源实现
OpenSSH的加密就是通过OpenSSL完成的
可以通过OpenSSH的方式让Mac远程登录到服务器

图片 1.png

OpenSSH远程登录手机
图片 1.png
ssh root@服务器IP地址
  • 默认密码alpine
// 终端状态
The authenticity of host '172.20.10.3 (172.20.10.3)' can't be established.
RSA key fingerprint is SHA256:xyLGRdOOcTo0QWLFr0L42YKqRaodwUoYxEbFaBZ3kh0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.20.10.3' (RSA) to the list of known hosts.
[email protected]'s password:
iPhone:~ root#

iPhone:~ root#就是进入到我们的手机了

root 与 mobile

root: 最高权限账户,$HOME是 /var/root

mobile: 普通权限账户,只能操作一些普通文件,不能操作系统级别的文件

修改登录密码

登录后输入passwd即可修改


SSH与iPhone的通信过程
  • 建立安全连接

1.服务器提供自己的身份证明

  • 客户端认证

基于密码的客户端认证
使用账号和密码即可认证

基于密钥的客户端认证
免密码认证
最安全的一种认证方式

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

  • 数据传输

服务器身份信息
  • 查看身份验证信息
cd /Users/用户名/.ssh
cat known_hosts
  • 修改身份验证信息
    方法1

如果确定要连接此服务器,删除掉之前服务器的公钥信息就行

ssh-keygen -R 服务器IP地址

方法2

或者直接打开known_hosts文件删除服务器的公钥信息就行

vim ~/.ssh/known_hosts

搭建密钥的客户端认证
  • 客户端生成公钥私钥
cd /Users/用户名/.ssh
ssh-keygen
  • 把客户端的公钥内容追加到服务器的授权文件
ssh-copy-id root@服务器主机地址

成功
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@服务器主机地址'"
and check to make sure that only the key(s) you wanted were added.


远程拷贝文件权限
  • 基于SSH登录进行安全的远程文件拷贝命令
scp ~/.ssh/id_rsa.pub root@服务器主机地址:~/.ssh
  • 追加公钥内容到授权文件尾部
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
  • 如果配置了免密码登录后,还是需要输入密码,需要在服务器端设置文件权限
chmod 755 ~
chmod 755 ~/.ssh
chmod 644 ~/.ssh/authorized_keys
  • 删除公钥
rm ~/id_rsa.pub

端口

端口就是设备对外提供服务的窗口,
每个端口都有个端口号(范围是0~65535,共2^16个)

  • 查看端口
cat /etc/ssh/sshd_config
  • 已经规定了用途

21端口提供FTP服务

22端口提供SSH服务
iPhone默认是使用22端口进行SSH通信,采用的是TCP协议

80端口提供HTTP服务

更多端口知识


USB 进行SSH 登录
图片 2.png
  • usbmuxd路径

服务程序usbmuxd(它会开机自动启动),
可以将Mac的数据通过USB传输到iPhone

  • usbmuxd路径
cd /System/Library/PrivateFrameworks/MobileDevice.framework/Resources
  • usbmuxd工具 usbmuxd-1.0.8

usbmuxd-1.0.8 -> python-client
tcprelay.py
usbmux.py

  • 端口映射
cd ~/路径/usbmuxd-1.0.8/python-client
python tcprelay.py -t 22:10010

成功打印
Forwarding local port 10010 to remote port 22

  • 连接
ssh root@localhost -p 本机
  • usb拷贝
scp -P 10010 ~/路径/1.txt root@localhost:~/test

终端中文乱码问题

默认情况下,iOS终端不支持中文输入和显示

解决方案:新建一个~/.inputrc文件,文件内容是
不将中文字符转化为转义序列
set convert-meta off

允许向终端输出中文
set output-meta on
允许向终端输入中文
set meta-flag on 
set input-meta on

你可能感兴趣的:(Mac远程连接iPhone)