Problema con: apt y trusted.gpg
Resulta que actualice de Debian Jessie a Debian Stretch y añadí una un programa no incluidos en los repositorios oficiales de Debian (Skype for linux). A partir de aquí empecé a tener problemas con apt.
Busque en internet y no encontré la solución a la primera, pero como uno es muy constante después de mucho probar, e investigar encontré la solución.
El problema esta muy bien documentado en el web oficial de debian, en el enlace de abajo, que copio el contenido integro.
https://debian-handbook.info/browse/es-ES/stable/sect.package-authentication.html
Comprobación de la autenticidad de un paquete
La seguridad es muy importante para los administradores de Falcot
Corp. Por consiguiente, necesitan asegurar que sólo instalen paquetes
con garantía de que provienen de Debian sin modificaciones en el camino.
Un «cracker» podría intentar agregar código malicioso en un paquete que
de otra forma sería legítimo. Si se instala tal paquete, éste podría
hacer cualquier cosa para la que dicho «cracker» lo diseño, inclusive
revelar contraseñas o información confidencial por ejemplo. Para evitar
este riesgo, Debian provee un sello contra modificaciones para
garantizar — al momento de instalación — que el paquete realmente
proviene de su encargado oficial y no fue modificado por un tercero.
El sello funciona con una firma y una cadena de «hashes» criptográficos. El archivo Release, provisto por las réplicas Debian, es el firmado. Contiene una lista de los archivos Packages (incluyendo sus formas comprimidas, Packages.gz y Packages.xz,
así como las versiones incrementales), junto con sus «hashes» MD5, SHA1
y SHA256 lo que asegura que los archivos no fueron modificados. Estos
archivos Packages contienen una lista de
los paquetes Debian disponibles en la réplica junto con sus hashes lo
que asegura, a su vez, que el contenido de los paquetes mismos tampoco
fue modificado.
Las llaves confiables son administradas con el programa apt-key que se encuentra en el paquete apt.
Este programa mantiene un conjunto de llaves públicas GnuPG que son
utilizadas para verificar las firmas disponibles en los archivos Release.gpg
disponibles en las réplicas. Puede utilizarse para agregar nuevas
llaves de forma manual (cuando se necesitan réplicas no oficiales).
Generalmente sin embargo, sólo necesitará las llaves oficiales de
Debian. Estas llaves se mantienen actualizadas de forma automática por
el paquete debian-archive-keyring (que crea los conjuntos de llaves correspondientes en /etc/apt/trusted.gpg.d).
Sin embargo, la primera instalación de este paquete requiere cierto
cuidado: aún si el paquete está firmado como cualquier otro, no se puede
verificar dicha firma. Los administradores cautelosos deberían, por lo
tanto, verificar las huellas de las llaves importadas antes de confiar
en ellas para instalar nuevos paquetes:
# apt-key fingerprint /etc/apt/trusted.gpg.d/debian-archive-jessie-automatic.gpg ---------------------------------------------------------- pub 4096R/2B90D010 2014-11-21 [expires: 2022-11-19] Key fingerprint = 126C 0D24 BD8A 2942 CC7D F8AC 7638 D044 2B90 D010 uid Debian Archive Automatic Signing Key (8/jessie)/etc/apt/trusted.gpg.d/debian-archive-jessie-security-automatic.gpg ------------------------------------------------------------------- pub 4096R/C857C906 2014-11-21 [expires: 2022-11-19] Key fingerprint = D211 6914 1CEC D440 F2EB 8DDA 9D6D 8F6B C857 C906 uid Debian Security Archive Automatic Signing Key (8/jessie) /etc/apt/trusted.gpg.d/debian-archive-jessie-stable.gpg ------------------------------------------------------- pub 4096R/518E17E1 2013-08-17 [expires: 2021-08-15] Key fingerprint = 75DD C3C4 A499 F1A1 8CB5 F3C8 CBF8 D6FD 518E 17E1 uid Jessie Stable Release Key /etc/apt/trusted.gpg.d/debian-archive-squeeze-automatic.gpg ----------------------------------------------------------- pub 4096R/473041FA 2010-08-27 [expires: 2018-03-05] Key fingerprint = 9FED 2BCB DCD2 9CDF 7626 78CB AED4 B06F 4730 41FA uid Debian Archive Automatic Signing Key (6.0/squeeze) /etc/apt/trusted.gpg.d/debian-archive-squeeze-stable.gpg -------------------------------------------------------- pub 4096R/B98321F9 2010-08-07 [expires: 2017-08-05] Key fingerprint = 0E4E DE2C 7F3E 1FC0 D033 800E 6448 1591 B983 21F9 uid Squeeze Stable Release Key /etc/apt/trusted.gpg.d/debian-archive-wheezy-automatic.gpg ---------------------------------------------------------- pub 4096R/46925553 2012-04-27 [expires: 2020-04-25] Key fingerprint = A1BD 8E9D 78F7 FE5C 3E65 D8AF 8B48 AD62 4692 5553 uid Debian Archive Automatic Signing Key (7.0/wheezy) /etc/apt/trusted.gpg.d/debian-archive-wheezy-stable.gpg ------------------------------------------------------- pub 4096R/65FFB764 2012-05-08 [expires: 2019-05-07] Key fingerprint = ED6D 6527 1AAC F0FF 15D1 2303 6FB2 A1C2 65FF B764 uid Wheezy Stable Release Key
Una vez que las llaves apropiadas se encuentran en el conjunto, APT revisará las firmas antes de cualquier operación riesgosa para que las interfaces muestren una advertencia cuando estén instalando un paquete sobre el que no se puede verificar autenticidad.
Los problemas que causó Skype por no tener la llave publica fue el siguiente
W: http://security.debian.org/…/dists/stretch/updates/InRelease
W: http://ftp.de.debian.org/debian/dists/stretch/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg are ignored as the file is not readable by user '_apt' executing apt-key.
W: GPG error: https://repo.skype.com/deb stable InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1F3045A5DF7587C3
W: The repository 'https://repo.skype.com/deb stable InRelease' is not signed.
Las causas eran las siguientes:
Perdía las llaves publicas de Debian stretch, modificaba el fichero /etc/apt/trusted.gpg
y le asignaba los permisos 600, es decir: rw- --- ---
Cuando lo correcto es tener dicho archivo con los permisos 644, es decir: rw- r-- r--
======================================================================
Solución a los errores:
Fue tan fácil como:
1- Borrar el archivo /etc/apt/trusted.gpg usando el comando rm como administrador: rm /etc/apt/trusted.gpg
2- Seguir los pasos de uno de los dos puntos siguientes. Yo realice la OPCION 1, el punto 2.1. por ser el mas rápido.
3- Reinstalar el paquete: debian-archive-keyring
======================================================================
OPCION 1
2.1- Instalar la llave publica directamente de un servidor de ubuntu, ya que Skype for linux, esta creado para los siguientes distribuciones, y la llave publica es la misma para todas las distribuciones:
- Ubuntu 14.04+ de 64 bits
- Debian 8+ de 64 bits
- openSUSE 13.3+ de 64 bits
- Fedora Linux 24+ de 64 bits
Entonces con el siguiente comando instale la llave publica de Skype for linux.
apt-key adv --keyserver keyserver.ubuntu.com --recv 1F3045A5DF7587C3
======================================================================
OPCION 2
Cuando lo correcto es tener dicho archivo con los permisos 644, es decir: rw- r-- r--
======================================================================
Solución a los errores:
Fue tan fácil como:
1- Borrar el archivo /etc/apt/trusted.gpg usando el comando rm como administrador: rm /etc/apt/trusted.gpg
2- Seguir los pasos de uno de los dos puntos siguientes. Yo realice la OPCION 1, el punto 2.1. por ser el mas rápido.
3- Reinstalar el paquete: debian-archive-keyring
======================================================================
OPCION 1
2.1- Instalar la llave publica directamente de un servidor de ubuntu, ya que Skype for linux, esta creado para los siguientes distribuciones, y la llave publica es la misma para todas las distribuciones:
- Ubuntu 14.04+ de 64 bits
- Debian 8+ de 64 bits
- openSUSE 13.3+ de 64 bits
- Fedora Linux 24+ de 64 bits
Entonces con el siguiente comando instale la llave publica de Skype for linux.
apt-key adv --keyserver keyserver.ubuntu.com --recv 1F3045A5DF7587C3
======================================================================
OPCION 2
2.2- Descargamos la llave publica de Skype for linux desde el repositorio oficial de Skype.
Enlace oficial : https://repo.skype.com/
y hacer todo lo que indica en dicho repositorio.
Copio y pego todo el contenido de dicho enlace, pero a nosotros los usuario de Debian solo nos interesa el apartado APT:
APT
# make sure you have 'apt-transport-https' installeddpkg -s apt-transport-https > /dev/null || bash -c "sudo apt-get update; sudo apt-get install apt-transport-https -y"
curl https://repo.skype.com/data/SKYPE-GPG-KEY | sudo apt-key add -
echo "deb [arch=amd64] https://repo.skype.com/deb stable main" | sudo tee /etc/apt/sources.list.d/skype-stable.list
sudo apt-get update
sudo apt-get install skypeforlinux -y
Yum
sudo yum-config-manager --add-repo=https://repo.skype.com/data/skype-stable.reposudo yum install skypeforlinux -y
DNF
sudo dnf config-manager --add-repo https://repo.skype.com/data/skype-stable.reposudo dnf install skypeforlinux -y
Zypper
sudo zypper ar -f https://repo.skype.com/rpm/stable skypeforlinuxsudo zypper update
sudo zypper install skypeforlinux
.
7 comentarios:
Diego, gracias por la información, tengo el mismo problema pero tras la instalación de la key de otro programa, he intentado la solución que propones pero en el punto 2.1 (en el que se añade a mano la key que faltaba, en mi caso otra) me da un error con el dirmngr. En concreto me dice esto
apt-key adv --keyserver keyserver.ubuntu.com --recv A040830F7FAC5991
Executing: /tmp/apt-key-gpghome.5R5JimkTBd/gpg.1.sh --keyserver keyserver.ubuntu.com --recv A040830F7FAC5991
gpg: failed to start the dirmngr '/usr/bin/dirmngr': No existe el fichero o el directorio
gpg: connecting dirmngr at '/tmp/apt-key-gpghome.5R5JimkTBd/S.dirmngr' failed: No existe el fichero o el directorio
gpg: keyserver receive failed: No dirmngr
En la red hay varios comentarios sobre el error con dirmngr. Voy a ver si encuentro alguno fiable.
Hola Alejandro.
Tu problema esta en la key de google chrome, que estas intentando instalar una key que o bien es antigua o ya no esta en el repositorio en el que lo estas buscando.
La solución a tu problema esta en este enlace:
https://www.google.com/linuxrepositories/
Tienes que usar este comando para añadir la key de google chrome:
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
Saludos
Hola chicos, saludos. Felicidades por manyterner el blog activo y posteando. No debemos dejar morir los blog que evangelizan con informacion y tutorial sobre Software Libre.
Amigos, tengo un problemilla y no doy con el, en mi debian 8 cuando abro mis archivos me sale la vista en ver elementos como lista y no en rejilla como siempre la coloco, aparte que sale por default los archivos ocultos visibles.
Com0o podria corregir este problemilla?.
Me alegra saber que mi blog te gusta. Muchas gracias.
NO creo que en esta entrada se deba solucionar tu problema con el explorador de archivos, pero ten en cuenta una cosa.
En linux existen muchos entorno de escritorio y cada entorno usa su propio explorador de archivos. Para darte una posible solución, necesitaría saber que entorno de escritorio usas y que explorador de archivos estas usando, además se puede usar un explorador de archivo, de un entorno de escritorio en otro entorno.
Me explico: El entorno de escritorio KDE usa por defecto el explorador de archivos llamado Dolphin, El entorno de escritorio GNOME usa el explorador de archivos Nautilus, etc...
Lo mejor seria preguntarlo en la entrada de Dolphin.
https://usuariodebian.blogspot.com.es/2017/03/dolphin-explorador-de-archivos.html
Un saludo
He tenido un problema muy parecido. La diferencia es que no estaba usando repositorios diferentes a los Debian oficiales.
"apt update" daba el error con "trusted.gpg". He borrado ese fichero y se acabó el problema (creo).
He leido en algún foro que el bug venia de synaptics. ?¿?
Tu post me ha ayudado a entender de que va lo de las "key".
Gracias por publicarlo.
Hola Juan PC.
tu comentas lo siguiente:
"He tenido un problema muy parecido. La diferencia es que no estaba usando repositorios diferentes a los Debian oficiales. ...."
La solución para tu problema esta en este mismo manual, copio y pego aquí una parte de la solución al problema, cuando solo el problema esta en los propios repositorios oficiales de Debian.
- La solución es el punto 1. y luego vuelves a recargar con apt-get o con synaptic y se soluciona.
- El punto 3 aconsejo hacerlo por si se ha perdido o modificado las key de Debian, para tenerlo actualizado.
=============================================
Solución a los errores:
Fue tan fácil como:
1- Borrar el archivo /etc/apt/trusted.gpg usando el comando rm como administrador: rm /etc/apt/trusted.gpg
2- Seguir los pasos de uno de los dos puntos siguientes. Yo realice la OPCION 1, el punto 2.1. por ser el mas rápido.
3- Reinstalar el paquete: debian-archive-keyring
=============================================
También tu comentas:
"He leido en algún foro que el bug venia de synaptics. ?¿?"
No es correcto, si usas cuando tienes el problema, el gestor gráfico synaptic, lo cierras e intentas actualizar desde una consola de comandos con cualquiera de estos comandos, (apt-get update, apt update, aptitude update) veras que todos te devuelven el mismo fallo. Además te indica el error claramente:
W: http://security.debian.org/…/dists/stretch/updates/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg are ignored as the file is not readable by user '_apt' executing apt-key.
Por tanto el error esta unica y exclusivamente en el fichero trusted.gpg (lo mas fácil es borrarlo y que el propio sistema lo genere con la configuración correcta.)
Un saludo.
Gracias por el post, estuve buscando mucho porque mi error era el mismo pero con la pubkey de Mega, había instalado megasync en Debian 9 y aparentemente todo funcionaba bien, pero al momento de hacer el apt update de me salían esos errores. El proceso para arreglarlo fue el mismo, desde el servidor de Ubuntu sólo cambiando obviamente el número correspondiente al de mega.
Publicar un comentario