美文网首页
Mac远程连接iPhone

Mac远程连接iPhone

作者: 灬朴一生 | 来源:发表于2019-08-01 16:10 被阅读0次
    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.
    root@172.20.10.3'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

          本文链接:https://www.haomeiwen.com/subject/juttdctx.html