iOS 逆向编程(八)远程拷贝 - 客户端(电脑)通过 ssh 拷贝文件到服务端(手机)

简介: iOS 逆向编程(八)远程拷贝 - 客户端(电脑)通过 ssh 拷贝文件到服务端(手机)
  • 根据 上一篇文章 已经将公钥远程上传了,现在需要删掉,这样才能更好的测试远程拷贝。
// 登录手机
dengzemiaodeMacBook-Pro:~ dengzemiao$ ssh root@10.0.89.184
// 进入 ~/.ssh 文件夹
iPhone:~ root# cd ~/.ssh
iPhone:~/.ssh root# ls -l
total 4
-rw------- 1 root wheel 403 Dec  8 17:49 authorized_keys
// 移除之前上传的 authorized_keys 授权文件
iPhone:~/.ssh root# rm authorized_keys
// 然后退出连接
iPhone:~/.ssh root# exit
logout
Connection to 10.0.89.184 closed.
  • 在客户端找到之前生成公私钥文件夹
$ cd ~/.ssh
dengzemiaodeMacBook-Pro:~ dengzemiao$ cd ~/.ssh
dengzemiaodeMacBook-Pro:.ssh dengzemiao$ ls -l
total 24
-rw-------  1 dengzemiao  staff  1679 12  4  2018 id_rsa
-rw-r--r--  1 dengzemiao  staff   403 12  4  2018 id_rsa.pub
-rw-r--r--  1 dengzemiao  staff  2190 12  7 11:31 known_hosts
dengzemiaodeMacBook-Pro:.ssh dengzemiao$ 
  • 然后通过 scp 客户端文件地址 root@服务器IP地址:服务端存储文件地址 命令进行远程拷贝
$ scp ~/.ssh/id_rsa.pub root@10.0.89.184:~/.ssh
  • 上面命令的意思是: 将客户端 ~/.ssh/id_rsa.pub 公钥文件 拷贝到 root@10.0.89.184 服务端的 ~/.ssh 下。
dengzemiaodeMacBook-Pro:.ssh dengzemiao$ scp ~/.ssh/id_rsa.pub root@10.0.89.184:~/.ssh
// 这里需要输入密码,是因为我们上面第一步就将之前的授权文件删除了,所以现在是没有免密登录的了
root@10.0.89.184's password: 
id_rsa.pub                                                 100%  403    10.1KB/s   00:00    
dengzemiaodeMacBook-Pro:.ssh dengzemiao$ 
  • 拷贝成功之后,可以登录服务端去查看 ~/.ssh 这个文件夹是否有 id_rsa.pub 文件。
// 登录服务端
dengzemiaodeMacBook-Pro:.ssh dengzemiao$ ssh root@10.0.89.184
// 输入密码
root@10.0.89.184's password: 
// 进入 ~/.ssh 文件夹
iPhone:~ root# cd ~/.ssh
// 查看文件夹内部文件
iPhone:~/.ssh root# ls -l
total 4
-rw-r--r-- 1 root wheel 403 Dec  9 11:40 id_rsa.pub
  • 既然文件已经远程拷贝过来了,那么我们还是需要将这个公钥信息追加到 authorized_keys 文件尾部。
$ cat id_rsa.pub >> authorized_keys
  • 上面这个命令就是将 id_rsa.pub 文件内容追加到 authorized_keys 文件尾部,如果 authorized_keys 文件不存在会先创建它在追加。
    追加完成之后在删除远程拷贝过来的 id_rsa.pub 文件。
$ rm id_rsa.pub
dengzemiaodeMacBook-Pro:.ssh dengzemiao$ ssh root@10.0.89.184
iPhone:~ root#
  • 这样也可以达到免密登录,将公钥传递到服务端,达到的效果跟上篇文章基本一致,但是重点是知道怎么远程传递拷贝文件到服务端
  • 但是有时候当这么配置之后,每次登陆还是需要输入密码,这是为什么?这应该是服务端文件的权限问题,我们需要将 ~/.ssh/authorized_keys 文件以及文件夹赋予访问权限。
$ chmod 755 ~
$ chmod 755 ~/.ssh
$ chmod 644 ~/.ssh/authorized_keys
  • 上面的命令就是将 指定文件夹或者文件 赋予 755 、644 等权限命令,这些数字都代表一个权限范围,这个可以自行百度查一下 chmod 命令,后续的文章也会写到这方面的东西。
    注意:现在的拷贝传递方式都是基于 Wifi 网络传递,下一章会说到通过 USB 连接并传递文件,网络传递肯定没有 USB 连接传递的速度快嘛。

相关文章
|
9月前
|
运维 iOS开发 Windows
windows电脑备案ios APP获取公钥和证书指纹Sha-1值的方法
在阿里云进行APP备案、在备案IOS端的环节的时候,发现需要我们将p12证书安装在电脑上,再用xcode或或钥匙串访问来获取这个证书的公钥和sha-1值。 但是大部分开发uniapp应用的同学们,或者进行发布的运维人员的电脑都是windows,无法按照阿里云的教程来获取ios的公钥和sha-1。备案就被卡主了。 这里介绍下另一个方法,就是使用香蕉云编来在线上传证书获取。如下图所示,打开香蕉云编后,找到下图这个功能
1288 0
|
存储 数据安全/隐私保护 开发者
苹果app上架app store 之苹果开发者账户在mac电脑上如何使用钥匙串访问-发行-APP发布证书ios_distribution.cer-优雅草卓伊凡
苹果app上架app store 之苹果开发者账户在mac电脑上如何使用钥匙串访问-发行-APP发布证书ios_distribution.cer-优雅草卓伊凡
951 8
苹果app上架app store 之苹果开发者账户在mac电脑上如何使用钥匙串访问-发行-APP发布证书ios_distribution.cer-优雅草卓伊凡
|
缓存 前端开发 IDE
【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
566 0
【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
API Android开发 iOS开发
深入探索Android与iOS的多线程编程差异
在移动应用开发领域,多线程编程是提高应用性能和响应性的关键。本文将对比分析Android和iOS两大平台在多线程处理上的不同实现机制,探讨它们各自的优势与局限性,并通过实例展示如何在这两个平台上进行有效的多线程编程。通过深入了解这些差异,开发者可以更好地选择适合自己项目需求的技术和策略,从而优化应用的性能和用户体验。
|
Swift iOS开发 UED
揭秘一款iOS应用中令人惊叹的自定义动画效果,带你领略编程艺术的魅力所在!
【9月更文挑战第5天】本文通过具体案例介绍如何在iOS应用中使用Swift与UIKit实现自定义按钮动画,当用户点击按钮时,按钮将从圆形变为椭圆形并从蓝色渐变到绿色,释放后恢复原状。文中详细展示了代码实现过程及动画平滑过渡的技巧,帮助读者提升应用的视觉体验与特色。
378 11
|
Swift iOS开发 UED
【绝妙创意】颠覆你的视觉体验!揭秘一款iOS应用中令人惊叹的自定义动画效果,带你领略编程艺术的魅力所在!
【8月更文挑战第13天】本文通过一个具体案例,介绍如何使用Swift与UIKit在iOS应用中创建独特的按钮动画效果。当按钮被按下时,其形状从圆形变化为椭圆形,颜色则从蓝色渐变为绿色;释放后,动画反向恢复原状。利用UIView动画方法及弹簧动画效果,实现了平滑自然的过渡。通过调整参数,开发者可以进一步优化动画体验,增强应用的互动性和视觉吸引力。
287 7
|
安全 测试技术 调度
iOS开发-多线程编程
【8月更文挑战第12天】在iOS开发中,属性的内存管理至关重要,直接影响应用性能与稳定性。主要策略包括:`strong`(强引用),保持对象不被释放;`weak`(弱引用),不保持对象,有助于避免循环引用;`assign`(赋值),适用于基本数据类型及非指针对象类型;`copy`(复制),复制对象而非引用,确保不变性。内存管理基于引用计数,利用自动引用计数(ARC)自动管理对象生命周期。此外,需注意避免循环引用,特别是在block中。最佳实践包括理解各策略、避免不必要的强引用、及时释放不再使用的对象、注意block中的内存管理,并使用工具进行内存分析。正确管理内存能显著提升应用质量。
214 2
|
Android开发 iOS开发 UED
安卓与iOS的较量:谁才是智能手机市场的王者?
本文将深入探讨安卓和iOS两大智能手机操作系统之间的竞争关系,分析它们各自的优势和劣势。通过对比两者在市场份额、用户体验、应用生态等方面的表现,我们将揭示出谁才是真正的市场领导者。无论你是安卓粉丝还是iOS忠实用户,这篇文章都将为你提供一些有趣的观点和见解。
|
人工智能 搜索推荐 vr&ar
苹果手机iOS18最新升级:植入AI人工智能,国内百度文心一言,国外GPT4o来辅助
iOS 18亮点速览:AI强化的Siri、RCS安卓消息兼容、自定义主屏、辅助功能增强,VR进步,新隐私工具,包括锁定APP和眼动追踪。Passwords app保障安全,Apple Intelligence提升个性化体验。
708 1
|
移动开发 开发工具 Android开发
探索安卓与iOS开发的差异:平台特性与编程实践
【7月更文挑战第8天】在移动开发的广阔天地中,安卓和iOS这两大操作系统各自占据着半壁江山。它们在用户界面设计、系统架构及开发工具上展现出截然不同的特色。本文将深入探讨这两个平台在技术实现和开发生态上的关键差异,并分享一些实用的开发技巧,旨在为跨平台开发者提供有价值的见解和建议。
310 2