iOS 逆向编程(七)客户端(手机)免密认证登录

简介: iOS 逆向编程(七)客户端(手机)免密认证登录
  • SSH-2 目前提供了 2 种常用的客户端认证方式。
    1、基于密码的客户端认证,使用账号和密码认证
    2、基于密钥的客户端认证,免密码认证
  • SSH-2 默认会优先尝试 密钥认证, 如果认证失败,才会尝试 密码认证
  • 如何做 免密码认证登录 ?流程图:
    操作流程简单介绍:在客户端生成公私钥,然后将公钥追加到服务器授权文件尾部,为什么是追加到尾部呢?因为这个授权文件里面会存放很多的授权公钥或者别的验证数据,自然是不能覆盖的,只能追加。

操作流程

1、生成公私钥,输入命令之后一路回车即可

$ ssh-keygen
dengzemiaodeMacBook-Pro:~ dengzemiao$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/dengzemiao/.ssh/id_rsa): 
/Users/dengzemiao/.ssh/id_rsa already exists.
// 如果之前有创建,这里会询问是否覆盖,根据自己情况决定,如果不想覆盖修改一下上面的路径即可
Overwrite (y/n)? 

2、查看公私钥,并找到该目录

$ cd ~/.ssh
dengzemiaodeMacBook-Pro:~ dengzemiao$ cd ~/.ssh
dengzemiaodeMacBook-Pro:.ssh dengzemiao$ ls
id_rsa    id_rsa.pub  known_hosts
// id_rsa:私钥文件
// id_rsa.pub:公钥文件
// 查看一下公钥
dengzemiaodeMacBook-Pro:.ssh dengzemiao$ cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDjVE65ziQ/cAyjwS2+zcqGip6jzndh4dYKUsop0kYAfMSnKF3do1fbU903JB4jzbyICuF5oGCLknB2uIvxp/uk2BdrtstFNuiRqTyY4c/i0ZxsWkGhTOfbuWFzHBpZGuCFKEO4/y2BwDss7R5nlwcQ1tNaB9I5Ck8Uf3d85oqJKBRkVjxGUQz15AQtzvvQf9RIhWtefLJAvqWfZKS/5TAcsd9nyznLSAAbHMf/KlmbZ7ifE1QccCZNIAD7fw9WHYNVnNjRDDItoAhRsIm4bSdAWHW++wmUsVoJ6pt0D8fySqnhLLfSYBuEn16KQxooB1dBx4g7Rk5Ju90C5gtC1T95 dengzemiaovip@163.com

3、将公钥发送到服务端(手机)存储

$ ssh-copy-id root@10.0.89.184
dengzemiaodeMacBook-Pro:~ dengzemiao$ cd ~/.ssh
dengzemiaodeMacBook-Pro:.ssh dengzemiao$ ls
id_rsa    id_rsa.pub  known_hosts
dengzemiaodeMacBook-Pro:.ssh dengzemiao$ ssh-copy-id root@10.0.89.184
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/Users/dengzemiao/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
// 这里需要输入手机端 root 账户的密码确认
root@10.0.89.184's password: 
Number of key(s) added:        1
Now try logging into the machine, with:   "ssh 'root@10.0.89.184'"
and check to make sure that only the key(s) you wanted were added.

4、然后我们设置输入之前的登录命令,就不需要在输入密码直接进入到服务端(手机)里面了。这里有个细节:就是我们在发送公钥的时候我们用的是 root 这个账户,那么另外一个 mobile 账户如果登录还是需要输入密码的,因为只配置了 root 账户,但是我们只需要用到 root 账户就够了。

$ ssh root@10.0.89.184
dengzemiaodeMacBook-Pro:~ dengzemiao$ ssh root@10.0.89.184
iPhone:~ root# 

5、查看我们发送到服务端(手机)的公钥,命令行按上面链接进入手机,查看到公钥之后可以跟上面客户端的进行对比。

$ cd ~/.ssh
dengzemiaodeMacBook-Pro:~ dengzemiao$ ssh root@10.0.89.184
iPhone:~ root# cd ~/.ssh
iPhone:~/.ssh root# ls
authorized_keys
iPhone:~/.ssh root# cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDjVE65ziQ/cAyjwS2+zcqGip6jzndh4dYKUsop0kYAfMSnKF3do1fbU903JB4jzbyICuF5oGCLknB2uIvxp/uk2BdrtstFNuiRqTyY4c/i0ZxsWkGhTOfbuWFzHBpZGuCFKEO4/y2BwDss7R5nlwcQ1tNaB9I5Ck8Uf3d85oqJKBRkVjxGUQz15AQtzvvQf9RIhWtefLJAvqWfZKS/5TAcsd9nyznLSAAbHMf/KlmbZ7ifE1QccCZNIAD7fw9WHYNVnNjRDDItoAhRsIm4bSdAWHW++wmUsVoJ6pt0D8fySqnhLLfSYBuEn16KQxooB1dBx4g7Rk5Ju90C5gtC1T95 dengzemiaovip@163.com

这一章是智能操作这些步骤,下一章将手动操作一下这些步骤,以及如何将本地公钥远程拷贝到服务端尾部,如果我们正常使用,这章就够了。

但是知道手动操作流程就好比知道智能操作的上一层做了哪些东西,思路大同小异,扩展学习一下。

也知道一下怎么通过 ssh 远程拷贝文件,以及怎么处理文件权限的问题。


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

热门文章

最新文章