解决kali-linux更新源无法使用的问题(签名失效)

解决kali-linux更新源无法使用的问题(签名失效)本来说是这个寒假好好学习一下渗透测试的,可随着了解的深入,发现渗透测试需要的知识储备太多了,因此好长时间都没有真正的去学习渗透工具的使用,今天上午装了一个kali,装上之后第一件事就是执行apt-getupdate&&apt-getupgrade,结果却出现了这样的错误我添加的是中科大的更新源,在浏览器中是可以正常打开的:debhttp://mirrors.ustc.ed

大家好,又见面了,我是你们的朋友全栈君。

友链

微信搜索我吃你家米了关注公众号
回复关键字【资料】获取各种学习资料
在这里插入图片描述

本来说是这个寒假好好学习一下渗透测试的,可随着了解的深入,发现渗透测试需要的知识储备太多了,因此好长时间都没有真正的去学习渗透工具的使用,今天上午装了一个kali,装上之后第一件事就是执行apt-get update && apt-get upgrade,结果却出现了这样的错误
这里写图片描述
我添加的是中科大的更新源,在浏览器中是可以正常打开的:

deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib  
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib

可是添加到 /etc/apt/source.list之后,执行apt-update就会出现上面的错误提示
这个问题折磨了我一整天,直到刚刚才解决掉,去网上搜,关于这种错误的帖子只有一两个,而且还都是提问的帖子,都挂在那没有解决。。。。因此我在解决了这个问题之后,立马就过来写了这篇博客,供各位网友参考,说不定就能解决你的问题

在多方搜索无果之后,我决定静下心来认真阅读一下kali中提供的文档,根据上面的提示,我查看了apt-secure(8)——>命令man 8 apt-secure

DESCRIPTION
       Starting with version 0.6, APT contains code that does signature
       checking of the Release file for all repositories. This ensures that
       data like packages in the archive can't be modified by people who have
       no access to the Release file signing key. Starting with version 1.1
       APT requires repositories to provide recent authentication information
       for unimpeded usage of the repository. Since version 1.5 changes in the
       information contained in the Release file about the repository need to
       be confirmed before APT continues to apply updates from this
       repository.

       Note: All APT-based package management front-ends like apt-get(8),
       aptitude(8) and synaptic(8) support this authentication feature, so
       this manpage uses APT to refer to them all for simplicity only.



首先阅读一下apt-secure的描述,读完之后我们可以知道,之所以一直更新不成功,是因为没有签名或者是有签名但是apt没有对应的key的package是不被信任的,安全起见,默认是不会采用这种源来进行更新的

继续往下阅读

UNSIGNED REPOSITORIES
       If an archive has an unsigned Release file or no Release file at all
       current APT versions will refuse to download data from them by default
       in update operations and even if forced to download front-ends like
       apt-get(8) will require explicit confirmation if an installation
       request includes a package from such an unauthenticated archive.

       You can force all APT clients to raise only warnings by setting the
       configuration option Acquire::AllowInsecureRepositories to true.
       Individual repositories can also be allowed to be insecure via the
       sources.list(5) option allow-insecure=yes. Note that insecure
       repositories are strongly discouraged and all options to force apt to
       continue supporting them will eventually be removed. Users also have
       the Trusted option available to disable even the warnings, but be sure
       to understand the implications as detailed in sources.list(5). 

第二段的标题正是没有签名的仓库,这正是我们需要的说明
You can force all APT clients to raise only warnings by setting the
configuration option Acquire::AllowInsecureRepositories to true.
这句话就是解决问题的关键,虽然国内的源没有签名,或者签名过期(失效),但是我们可以强制apt进行更新,忽略仓库的安全性,而想要达到这个目的,我们就需要对APT的配置文件进行修改
我搜索了apt.conf这个关键字,但相关网页都是英文的,硬着头皮读完之后发现我的kali中并没有apt.conf文件,在我的/etc/apt目录下,只有一个apt.conf.d目录,cd进该目录:
这里写图片描述
那么多配置文件,我也不知道到底该改哪一个,然后又去百度了一会儿,看到了这篇文章
https://wiki.debian.org/AptConf
然后我就抱着试一试的心态打开了70debconf文件,按照前面man文档的指导,在里面输入了Acquire::AllowInsecureRepositories “true”;
然后执行apt-config dump,查看apt的对应配置有无生效
这里写图片描述
Acquire::AllowInsecureRepositories的属性值由最初的”0″变成了”true”
说明更改配置成功,然后赶紧敲入apt-get update && apt-get upgrade,万分激动地按下回车键

看着一行行的提示快速滚动,那种感觉真的是无与伦比。。。。

可能我的分析有不到位的地方,不过不管怎样,问题是解决了,欢迎各位指正
希望能帮助遇到同样问题的小伙伴**:)**

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140159.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C语言中字符数组初始化的几种方法「建议收藏」

    C语言中字符数组初始化的几种方法「建议收藏」1.C语言中的字符数组初始化在C语言中,字符串是当做字符数组来处理的;所以字符串有两种声明方式,一种是字符数组,一种是字符指针。1.1直接逐个初始化字符数组:字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。charstrr[]={‘I’,”,’a’,’m’,”,’h’,’a’,’p’,’p’,’y’};注意:如果花括号中提供的字符个数大于数组长度…

    2022年7月18日
    11
  • S3C2440移植uboot之支持NAND启动「建议收藏」

    S3C2440移植uboot之支持NAND启动「建议收藏」上一节S3C2440移植uboot之新建单板_时钟_SDRAM_串口移植uboot初始化了时钟,配置了支持串口,这一节我们继续修改uboot支持NAND启动。

    2022年6月13日
    27
  • 简介pid参数整定的基本方法_一阶倒立摆的PID

    简介pid参数整定的基本方法_一阶倒立摆的PID0.前言关于PID参数的整定,网上调节的口诀、原则、方法满天飞,但是并没有具体的到步的教程,作为初学者且非自动化相关专业学生有点看不懂、一脸懵逼,走了不少弯路,呕心沥血才调节好,之后才看得懂那些口诀、原则。为了让大家少走弯路,这里将给出圆周倒立摆直立环PID参数整定的具体步骤。多图预警!圆周倒立摆整体图1.PID编程及理解磨刀不误砍材工,是骡子是马,咱先看看,要想调好PI…

    2022年8月18日
    20
  • .net 常用开源框架

    .net 常用开源框架Json.NETCodePlexArchiveJson.Net是一个读写Json效率比较高的.Net框架.Json.Net使得在.Net环境下使用Json更加简单。通过LinqToJSON可以快速的读写Json,通过JsonSerializer可以序列化你的.Net对象。让你轻松实现.Net中所有类型(对象,基本数据类型等)和Json的转换。Math.NETMath.NETMath.NET的目标是为提供一款自身包含清晰框架的符号运算和数学运算/科学运算,它是C#开发的开.

    2022年7月15日
    20
  • 单片机c语言程序设计试卷_stm32常见面试题

    单片机c语言程序设计试卷_stm32常见面试题c语言面试题集(单片机).c语言面试题集(单片机)1.预处理器(Preprocessor)1.用预处理指令#define声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#defineSECONDS_PER_YEAR(60*60*24*365)UL:1).#define语法的基本知识(例如:不能以分号结束,括号的使用,等等)2).懂得预处理器将为你计算常数表达式的值,因…

    2022年8月26日
    3
  • axon-saga

    axon-saga管理复杂的业务事务并不是每个命令都能够在单个ACID事务中完全执行。银行转帐是一个很常见的例子,常常作为他们的论据。人们经常认为,将资金从一个账户转移到另一个账户的交易绝对需要原子性和一致性。其实呢,不是的这样的。相反,这是不可能的。如果钱从A银行的账户转移到B银行的另一个账户?A银行是否须要锁定B银行数据库?如果转账正在进行中,银行A已经扣除了这笔款项,但银行B还没有存入该钱,这有点奇怪?事…

    2022年9月19日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号