当前位置: 首页 > news >正文

渗透写ssh公钥证书登录

在本地生成公私钥对,使用ssh-keygen生成,生成的私钥通常存储在客户端机器的 ~/.ssh/id_rsa 路径中,而公钥则存储在 ~/.ssh/id_rsa.pub 文件中

ssh-keygen -t rsa -b 2048 -f id_rsa
  • -t rsa:指定使用RSA算法生成密钥对
  • -b 2048:指定密钥长度为2048位,以提高加密强度
  • -f id_rsa:输出文件名前缀(生成两个文件:私钥和公钥)

执行后会得到如下输出:

Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):     ← 直接回车(不设密码)
Enter same passphrase again:                    ← 再次回车
Your identification has been saved in id_rsa
Your public key has been saved in id_rsa.pub

如果不执行-f参数,则会多一个输出:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/kali/.ssh/id_rsa):   
# 请输入要保存 SSH 密钥的文件路径(默认是 /home/kali/.ssh/id_rsa)
Enter passphrase for "/home/kali/.ssh/id_rsa" (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/kali/.ssh/id_rsa
Your public key has been saved in /home/kali/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:5aLAsLqAKQILKFhWJXQ7igBgofC5l16DWfKGhCraz4A kali@kali
The key's randomart image is:
+---[RSA 2048]----+
|=o..+.o          |
|=. + o .         |
|o B o +   .      |
|o= B X . o       |
|O + X = S .      |
|B* o + o .       |
|E o . .          |
|+. +             |
|.   o            |
+----[SHA256]-----+

其中id_rsa为私钥,ssh登录的时候需要用到

id_rsa.pub为公钥,需要写入目标机器 ~/.ssh/authorized_keys`

公钥示例:

ssh-rsa AAAAB3...Z kali@kalissh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC72kHJRCO8GB1ECQL1Z6gxmGk2BK1EBfaG9llD3hEzOSX5Wp54hU9sC9Rs35ZBGs2n31UL0g31lnyNnZkTPGNjmmDsSkclOZqVbyReL7qsCE38m0zlzRfKNKHao5BUuqXEeWaVKccyxAHb6E415BaAKb3rnMB+PczqO7vymV3aZpuIknHtpS0DKzif9qQnZIw6flCGsJ9mF+byuO9BDiT0LTvJ2FD/ZG3aF0jDmsq53ZoNxeZPHiDy2Ymqq3T64GhzDaQh2VKylzgDGjE0isoc7HToI2tVjn+SKh7T5sgyQrRdpmtPydbKY9mCOpLIRLzY6COb3bOpqhh5UtF96JZb kali@kali

默认格式是:ssh-rsa AAAA... comment,其中 comment 通常是用户名 + 主机名,comment用于标记这个密钥是谁生成的

生成公私钥对后,将公钥写入远程主机的 authorized_keys 文件,通常位于远程主机的用户主目录下的 .ssh/authorized_keys 路径

例如

echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDnWeJ+yLOm2C9O59mj96M5+7Ui5l3cdVUjE+Aqx9+Wes9H3pk9zW6WTTU9hoO+kXFFTFFw8cTn81E6hbriCU57h8KUJqfj7fBKUNO7U9miVRh8PLN4kjZPzD7uByxQ3/scvV/M7WQLCH4xAs9FShFIEwr8PqqwcjC5dslozs1ihcwIFbA9ePyEj+ZIzAoXsngaOtMLCy/WzCu3T22AzCHkPm+qsskA7tx3Qj2wZWGo/szezmgwHrVWRfbmstloGdrWncs85rmFXIIlS9XozAUjb093jflz1fq8vKlAxssH7TuZcux8dnHq5/0sHMVZJh4pTWBVgWvqtxDxOFt+ArWH kali@kali" > /root/.ssh/authorized_keyscat /root/.ssh/authorized_keys

在终端登录的时候使用私钥登录:

ssh -i id_rsa user@192.168.1.1

报错及注意事项:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for 'id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "id_rsa": bad permissions

当前的私钥 id_rsa权限是 0777,即所有用户都可以读写执行,这是极度不安全的,SSH 会拒绝使用这种私钥

解决方法:

把私钥权限设置为 600(仅自己可读写)

chmod 600 id_rsa_backdoor

如果出现以下报错:

no matching cipher found. Their offer: arcfour256,arcfour128

Unable to negotiate with 10.10.1.10 port 22: no matching cipher found. Their offer: rc4

这是因为服务器强制使用 RC4,而你客户端不支持,需要手动指定启用RC4

ssh -c arcfour admin@192.168.1.1
ssh -c arcfour128 admin@192.168.1.1

root证书登录

如果写入的是/root/.ssh/authorized_keys,则需要以下操作

mkdir -p /root/.ssh
chmod 700 /root/.ssh
chown root:root /root/.sshchmod 600 /root/.ssh/authorized_keys
chown root:root /root/.ssh/authorized_keys

确保权限如下

ls -ld /root/.ssh
ls -l /root/.ssh/authorized_keysdrwx------ 2 root root ... /root/.ssh
-rw------- 1 root root ... /root/.ssh/authorized_keys

确认可以使用公钥认证登录

grep -E 'PermitRootLogin|PubkeyAuthentication' /etc/ssh/sshd_configPermitRootLogin yes
PubkeyAuthentication yes
# the setting of "PermitRootLogin without-password".

报错debug1: send_pubkey_test: no mutual signature algorithm

原因为签名算法不兼容

ssh -v -i id_rsa \-o PubkeyAcceptedAlgorithms=+ssh-rsa \-o HostKeyAlgorithms=+ssh-rsa \root@192.168.22.131

调试ssh连接

ssh -v -i id_rsa root@192.168.22.131
# 或者更详细
ssh -vvv -i id_rsa root@192.168.22.131
http://www.jsqmd.com/news/650817/

相关文章:

  • 别再手动刷新了!用QtChart+QTimer实现实时数据流曲线(附完整源码)
  • W25QXX系列选型指南:从W25Q80到W25Q256的5个关键参数对比(附典型电路)
  • 开超市做门头都需要注意那几点
  • AI 1M 上下文时代,你的 session 管理正在悄然决定编码天花板
  • 鑫豪迈基本信息大揭秘,客户群体广泛度究竟如何 - 工业品网
  • 如何快速掌握Common Voice:面向开发者的终极实战指南
  • 2026实力电瓷厂家推荐:特高压/拉紧/柱式绝缘子全场景覆盖,附萍乡百斯特电瓷性价比要点 - 栗子测评
  • 云原生可观测性
  • 如何3分钟搞定CAJ转PDF:学术研究者的终极格式转换方案
  • 索尼相机终极解锁指南:OpenMemories-Tweak完全使用教程
  • Xray实战指南:从基础扫描到精准漏洞探测
  • 2026美萌科技:小程序定制开发经验丰富,覆盖零售金融等多行业场景 - 品牌种草官
  • 博士论文盲审前必做的10项自查清单(附送审流程与避坑指南)
  • how to configure hermes agent
  • Linux系统+用户+文件(中)
  • 2026年3月国内间歇式智适应动力模块品牌,直膨式防爆空调机组/离子光触媒净化器,间歇式智适应动力模块生产商实力 - 品牌推荐师
  • 2026年遵义烧机油治理、贴膜车衣深度横评与官方联系指南 - 精选优质企业推荐榜
  • R语言实战:用mice包搞定数据缺失多重插补,让你的模型结果更稳健(附完整代码与结果解读)
  • 恒歌科技:自主可控军事仿真与 GIS 可视化双引擎,领跑国防数字化新征程 - 深度智识库
  • Ubuntu 18.04上CUDA 10.2与CUDNN 7.6.5的保姆级安装避坑指南(含图形界面关闭与恢复)
  • 3步实现Win11系统深度优化:从臃肿到高效的专业指南
  • 全国瓷绝缘子哪家好?2026全国瓷绝缘厂家推荐:直流绝缘子厂家+盘形悬式瓷绝缘子厂家+盘形悬式瓷绝缘子品牌推荐 - 栗子测评
  • 从DispatcherServlet到Controller:Spring MVC请求映射失效的排查与修复指南
  • Rockchip RK3588 - Recovery模式下的updateEngine与rkupdate升级机制深度解析
  • 2026年新疆乌鲁木齐家装工装一体化服务深度横评:透明报价与本地气候适配指南 - 精选优质企业推荐榜
  • LaTeX矩阵在Markdown中的7种炫酷玩法(附常见渲染问题解决方案)
  • Qwen3-ASR-0.6B开箱即用:Gradio界面一键体验多语言语音转文字
  • 伏羲模型前端可视化:使用Vue。js构建动态交互式天气地图
  • 2026亮化公司综合测评:酒店/写字楼/商场/医院/街道亮化推荐 - 速递信息
  • 2026年遵义汽车维修深度横评:烧机油治理、贴膜车衣与底盘维修一站式方案 - 精选优质企业推荐榜