解决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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • POST、GET、@RequestBody和@RequestParam区别[通俗易懂]

    POST、GET、@RequestBody和@RequestParam区别[通俗易懂]@RequestParam注解@RequestParam接收的参数是来自requestHeader中,即请求头。RequestParam可以接受简单类型的属性,也可以接受对象类型。@RequestParam有三个配置参数:required表示是否必须,默认为true,必须。 defaultValue可设置请求参数的默认值。 value为接收url的参数名(相当于key值…

    2022年4月28日
    122
  • mongodb和mysql应用场景区别_mongodb和mysql有哪些区别「建议收藏」

    mongodb和mysql应用场景区别_mongodb和mysql有哪些区别「建议收藏」mongodb和mysql有哪些区别发布时间:2020-09-0109:15:48来源:亿速云阅读:64作者:小新小编给大家分享一下mongodb和mysql有哪些区别,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!区别分析:)MySQL是关系型数据库。优势:在不同的引擎上有不同的存储方式。查询语句是使用传统的sql语…

    2025年7月10日
    2
  • Android文字转语音引擎(TTS)简单比较及下载

    Android文字转语音引擎(TTS)简单比较及下载目前国内Android系统自带语音引擎包括华为小米等居然都是不支持中文语音功能,以下是在网上找到的谷歌、科大讯飞和百度的纯语音引擎apk,没有启动界面,安装后在设置中能找到。不知为什么这些引擎在官网上都是找不到的。百度网盘下载地址密码:3si0简单比较com.svox.pico系统自带不支持中文语音com.svox.classic搜svox搜到的,和上面类似不支…

    2022年6月27日
    330
  • SPRINGBOOT启动流程及其原理[通俗易懂]

    SPRINGBOOT启动流程及其原理[通俗易懂]SpringBoot、SpringMVC和Spring有什么区别? 一springboot启动原理及相关流程概览 二springboot的启动类入口 三单单是SpringBootApplication接口用到了这些注解   1)@Configuration注解   2)@ComponentScan注解 3)@EnableAutoConfiguration AutoConfigurationPackage注解: Import(AutoConfiguration…

    2025年8月28日
    7
  • 无线VLAN作用[通俗易懂]

    无线VLAN作用[通俗易懂]将一个AP放置在办公网,可以收到相当多的广播帧,也会转发出相当多的广播帧。转发出去的广播帧主要来自于有线端,这些大部分是没有用的。但对AP的性能消耗是很大的。解决办法有:1.驱动层过滤掉广播帧,防止接收广播帧消耗性能。包括PROBEREQUEST广播帧都可以不处理。只通过STA收听AP的BEACON帧完全就可以实现发现AP的作用了。2.构建单独的无线VLAN。

    2022年8月10日
    8
  • java fgc_记一次频繁FGC的简单排查

    java fgc_记一次频繁FGC的简单排查简书占小狼转载请注明原创出处,谢谢!如果读完觉得有收获的话,欢迎点赞加关注周末愉快,今天有时间记录一下上周遇到的一个问题,学习的脚步不能放慢,也不敢放慢。存在问题在线上环境进行服务压测,压测完成后,cpu使用率居高不下,很是费解,按理说已经没有压测请求了,这时消耗cpu资源的只有GC线程了,可以通过jstat命令查看一下JVM的GC情况,然后就碰到了诡异的GC问题。jstat命令jstat[…

    2022年6月19日
    28

发表回复

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

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