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

相关文章
|
1月前
|
移动开发 前端开发 数据安全/隐私保护
iOS发布证书.p12文件无密码解决办法及导出带密码的新.p12文件方法
iOS发布证书.p12文件无密码解决办法及导出带密码的新.p12文件方法
30 0
|
1月前
|
Java
【Java每日一题】— —第二十一题:编程把现实生活的手机事物映射成一个标准类Phone,并定义一个测试类PhoneDemo测试Phone类的功能
【Java每日一题】— —第二十一题:编程把现实生活的手机事物映射成一个标准类Phone,并定义一个测试类PhoneDemo测试Phone类的功能
37 0
|
1月前
|
安全 关系型数据库 测试技术
基于智能手机的医院服务客户端设计与实现(论文+源码)_kaic
基于智能手机的医院服务客户端设计与实现(论文+源码)_kaic
|
3月前
|
存储 监控 iOS开发
iOS应用崩溃了,如何通过崩溃手机连接电脑查找日志方法
在iOS应用开发过程中,调试日志和奔溃日志是开发者必不可少的工具。当iOS手机崩溃时,我们可以连接电脑并使用Xcode Console等工具来查看日志。然而,这种方式可能不够方便,并且处理奔溃日志也相当繁琐。克魔助手的出现为开发者带来了极大的便利,本文将详细介绍其功能和使用方法。 克魔助手会提供两种日志,一种是实时的,一种的是崩溃的。(由于崩溃日志的环境很麻烦,目前只展示实时日志操作步骤)
|
1月前
|
安全 Java 数据库连接
【Java每日一题】——第四十四题:综合案例:编程模拟智能手机和普通手机功能。
【Java每日一题】——第四十四题:综合案例:编程模拟智能手机和普通手机功能。
65 0
|
2月前
|
网络协议 IDE 网络安全
GoLand远程开发IDE:使用SSH远程连接服务器进行云端编程
GoLand远程开发IDE:使用SSH远程连接服务器进行云端编程
96 0
|
2月前
|
Linux 数据安全/隐私保护 iOS开发
如何使用 Xcode 打包导出 IPA 文件并进行 iOS 应用内测,无需支付苹果开发者账号费用?
如何使用 Xcode 打包导出 IPA 文件并进行 iOS 应用内测,无需支付苹果开发者账号费用?
|
1月前
|
安全 关系型数据库 测试技术
基于智能手机的医院服务客户端设计与实现_kaic
基于智能手机的医院服务客户端设计与实现_kaic
|
2月前
|
Web App开发 Go iOS开发
【IOS】教你如何在手机端轻松安装 ipa 文件 -(安装器已失效 21.10)|社区征文
【IOS】教你如何在手机端轻松安装 ipa 文件 -(安装器已失效 21.10)|社区征文
|
2月前
|
存储 安全 Shell
windows 系统 c 盘 .ssh 文件夹里的 known_hosts 文件的作用
windows 系统 c 盘 .ssh 文件夹里的 known_hosts 文件的作用
74 0

热门文章

最新文章