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 连接传递的速度快嘛。

相关文章
|
6月前
|
安全 关系型数据库 测试技术
基于智能手机的医院服务客户端设计与实现(论文+源码)_kaic
基于智能手机的医院服务客户端设计与实现(论文+源码)_kaic
|
6月前
|
网络协议 IDE 网络安全
GoLand远程开发IDE:使用SSH远程连接服务器进行云端编程
GoLand远程开发IDE:使用SSH远程连接服务器进行云端编程
742 0
|
2月前
|
Swift iOS开发 UED
揭秘一款iOS应用中令人惊叹的自定义动画效果,带你领略编程艺术的魅力所在!
【9月更文挑战第5天】本文通过具体案例介绍如何在iOS应用中使用Swift与UIKit实现自定义按钮动画,当用户点击按钮时,按钮将从圆形变为椭圆形并从蓝色渐变到绿色,释放后恢复原状。文中详细展示了代码实现过程及动画平滑过渡的技巧,帮助读者提升应用的视觉体验与特色。
63 11
|
3月前
|
Swift iOS开发 UED
【绝妙创意】颠覆你的视觉体验!揭秘一款iOS应用中令人惊叹的自定义动画效果,带你领略编程艺术的魅力所在!
【8月更文挑战第13天】本文通过一个具体案例,介绍如何使用Swift与UIKit在iOS应用中创建独特的按钮动画效果。当按钮被按下时,其形状从圆形变化为椭圆形,颜色则从蓝色渐变为绿色;释放后,动画反向恢复原状。利用UIView动画方法及弹簧动画效果,实现了平滑自然的过渡。通过调整参数,开发者可以进一步优化动画体验,增强应用的互动性和视觉吸引力。
52 7
|
3月前
|
安全 测试技术 调度
iOS开发-多线程编程
【8月更文挑战第12天】在iOS开发中,属性的内存管理至关重要,直接影响应用性能与稳定性。主要策略包括:`strong`(强引用),保持对象不被释放;`weak`(弱引用),不保持对象,有助于避免循环引用;`assign`(赋值),适用于基本数据类型及非指针对象类型;`copy`(复制),复制对象而非引用,确保不变性。内存管理基于引用计数,利用自动引用计数(ARC)自动管理对象生命周期。此外,需注意避免循环引用,特别是在block中。最佳实践包括理解各策略、避免不必要的强引用、及时释放不再使用的对象、注意block中的内存管理,并使用工具进行内存分析。正确管理内存能显著提升应用质量。
|
3月前
|
网络安全 Windows
在Windows电脑上启动并配置SSH服务
在Windows电脑上启动并配置SSH服务
762 0
|
6月前
|
安全 关系型数据库 测试技术
基于智能手机的医院服务客户端设计与实现_kaic
基于智能手机的医院服务客户端设计与实现_kaic
|
4月前
|
移动开发 开发工具 Android开发
探索安卓与iOS开发的差异:平台特性与编程实践
【7月更文挑战第8天】在移动开发的广阔天地中,安卓和iOS这两大操作系统各自占据着半壁江山。它们在用户界面设计、系统架构及开发工具上展现出截然不同的特色。本文将深入探讨这两个平台在技术实现和开发生态上的关键差异,并分享一些实用的开发技巧,旨在为跨平台开发者提供有价值的见解和建议。
|
4月前
|
IDE 开发工具 Android开发
安卓与iOS开发环境对比分析:选择适合自己的编程平台
移动应用开发的两大阵营——安卓和iOS,各自拥有不同的开发环境和工具集。本文通过深入比较这两个平台的编程语言、集成开发环境(IDE)、用户界面设计、测试框架以及部署流程,旨在为开发者提供一个全面的视角来选择最符合个人或项目需求的开发环境。
|
5月前
|
安全 IDE Android开发
探索Android与iOS开发的差异:平台特性与编程实践
【6月更文挑战第17天】在移动应用开发的广阔天地中,Android和iOS两大平台各自占据半壁江山。它们在用户群体、系统架构以及开发环境上的差异,为开发者带来了不同的挑战和机遇。本文深入探讨了这两个平台在技术实现、界面设计、性能优化等方面的主要区别,并提供了实用的开发建议,旨在帮助开发者更好地理解各自平台的特性,从而创造出更加优秀的移动应用。
下一篇
无影云桌面