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

相关文章
|
14天前
|
网络协议 Ubuntu Linux
解决ssh: connect to host IP port 22: Connection timed out报错(scp传文件指定端口)
解决 `ssh: connect to host IP port 22: Connection timed out` 报错涉及检查 SSH 服务状态、防火墙配置、网络连通性和主机名解析等多个方面。通过逐步排查上述问题,并在 `scp` 命令中正确指定端口,可以有效解决连接超时的问题,确保文件传输的顺利进行。希望本文提供的解决方案能帮助您快速定位并解决该错误。
40 3
|
19天前
|
运维 网络安全
解决ssh: connect to host IP port 22: Connection timed out报错(scp传文件指定端口)
通过这些步骤和方法,您可以有效解决“ssh: connect to host IP port 22: Connection timed out”问题,并顺利使用 `scp`命令传输文件。
106 7
|
25天前
|
API Android开发 iOS开发
深入探索Android与iOS的多线程编程差异
在移动应用开发领域,多线程编程是提高应用性能和响应性的关键。本文将对比分析Android和iOS两大平台在多线程处理上的不同实现机制,探讨它们各自的优势与局限性,并通过实例展示如何在这两个平台上进行有效的多线程编程。通过深入了解这些差异,开发者可以更好地选择适合自己项目需求的技术和策略,从而优化应用的性能和用户体验。
|
2月前
|
程序员 网络安全 开发工具
读书|通过 SSH & SFTP 管理 Kindle 上的文件
这是这个系列的第三篇文章,介绍我如何通过 SSH & SFTP 管理 Kindle 上的文件。
50 3
|
3月前
|
Swift iOS开发 UED
揭秘一款iOS应用中令人惊叹的自定义动画效果,带你领略编程艺术的魅力所在!
【9月更文挑战第5天】本文通过具体案例介绍如何在iOS应用中使用Swift与UIKit实现自定义按钮动画,当用户点击按钮时,按钮将从圆形变为椭圆形并从蓝色渐变到绿色,释放后恢复原状。文中详细展示了代码实现过程及动画平滑过渡的技巧,帮助读者提升应用的视觉体验与特色。
70 11
|
4月前
|
机器学习/深度学习 存储 Linux
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
|
4月前
|
Swift iOS开发 UED
【绝妙创意】颠覆你的视觉体验!揭秘一款iOS应用中令人惊叹的自定义动画效果,带你领略编程艺术的魅力所在!
【8月更文挑战第13天】本文通过一个具体案例,介绍如何使用Swift与UIKit在iOS应用中创建独特的按钮动画效果。当按钮被按下时,其形状从圆形变化为椭圆形,颜色则从蓝色渐变为绿色;释放后,动画反向恢复原状。利用UIView动画方法及弹簧动画效果,实现了平滑自然的过渡。通过调整参数,开发者可以进一步优化动画体验,增强应用的互动性和视觉吸引力。
60 7
|
4月前
|
安全 测试技术 调度
iOS开发-多线程编程
【8月更文挑战第12天】在iOS开发中,属性的内存管理至关重要,直接影响应用性能与稳定性。主要策略包括:`strong`(强引用),保持对象不被释放;`weak`(弱引用),不保持对象,有助于避免循环引用;`assign`(赋值),适用于基本数据类型及非指针对象类型;`copy`(复制),复制对象而非引用,确保不变性。内存管理基于引用计数,利用自动引用计数(ARC)自动管理对象生命周期。此外,需注意避免循环引用,特别是在block中。最佳实践包括理解各策略、避免不必要的强引用、及时释放不再使用的对象、注意block中的内存管理,并使用工具进行内存分析。正确管理内存能显著提升应用质量。
|
4月前
|
网络安全 Windows
在Windows电脑上启动并配置SSH服务
在Windows电脑上启动并配置SSH服务
956 0
|
5月前
|
移动开发 开发工具 Android开发
探索安卓与iOS开发的差异:平台特性与编程实践
【7月更文挑战第8天】在移动开发的广阔天地中,安卓和iOS这两大操作系统各自占据着半壁江山。它们在用户界面设计、系统架构及开发工具上展现出截然不同的特色。本文将深入探讨这两个平台在技术实现和开发生态上的关键差异,并分享一些实用的开发技巧,旨在为跨平台开发者提供有价值的见解和建议。