Kein GPG-Schlüssel hinter einer Firewall

13

Bin hier nur über diesen geschlossenen Thread gestolpert: GPG-Fehler beim Ausführen von apt-get

Gleiches Problem hier, Ubuntu 12.04 hinter einer Firewall und Proxy.

Ich glaube nicht, dass die Materie dem gegebenen Thema entspricht. Also öffne ich diese Angelegenheit in diesem Thread erneut.

Meine Ausgabe:

root@musik-Aspire-7741:~# apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 58B98E87
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-  keyring /tmp/tmp.tWVMhyIMYh --trustdb-name /etc/apt/trustdb.gpg --keyring     /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver     hkp://keyserver.ubuntu.com:80 --recv-keys 58B98E87
gpg: Key 58B98E87 of hkp Server keyserver.ubuntu.com request
?: keyserver.ubuntu.com: Connection refused
gpgkeys: HTTP fetch error 7: couldn't connect: Connection refused
gpg: No valid OpenPGP data found.
gpg: Total number processed: 0

Fazit: gpg funktioniert nicht hkp://keyserver.ubuntu.com:80über http.

user68817
quelle
Wenn Sie einen Proxy durchlaufen müssen, müssen Sie GPG anweisen, den Proxy zu verwenden. Hast du http_proxyeingestellt ( echo $http_proxy)
Tumbleweed

Antworten:

9

Hinter dem Proxy sollte die Umgebungsvariable http_proxygesetzt sein. Dies kann auf eine der beiden Arten erfolgen.

1.Erstellen Sie eine apt.confDatei im Verzeichnis / etc / apt, falls diese nicht vorhanden ist, und fügen Sie die folgende Zeile hinzu. Acquire::http::Proxy "http://user:password@server:port";
2.Stellen Sie die Umgebungsvariable einfach mit dem folgenden Befehl vom Terminal aus ein.
export http_proxy=http://user:password@server:port

Zum Schluss noch eine kleine Optimierung: Fügen Sie dem Befehl die Option -E hinzu, damit die Umgebungsvariablen wie folgt verwendet werden
sudo -E apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 58B98E87

Ellore
quelle
2
Das -E hat den Trick
Alexandre1985
3

Wenn Sie sich hinter einem Proxy befinden, müssen Sie die http_proxyUmgebungsvariable in Bash festlegen . Am besten öffnen Sie die Root-Shell mit sudo bash.

Danach:

export http_proxy="http://xxx.yyy.zzz.www:abcd"

Dann fügen Sie das Repo hinzu.

Debmalya
quelle
1

Ich habe fast zwei Tage damit verbracht, die neueste Version von MongoDB zu installieren. Aber ich hatte das gleiche Problem wie unten gezeigt:

$ apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10

Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.pvb8fwe4Rs --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyring /etc/apt/trusted.gpg.d//nsa-keyring.gpg --keyserver keyserver.ubuntu.com --recv 7F0CEB10
gpg: requesting key 7F0CEB10 from hkp server keyserver.ubuntu.com
gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error

Zuletzt habe ich mongoDB mit Hilfe von Schritten installiert, die "ellore" teilt.

  1. Http und https Proxy in apt.confDatei hinzugefügt .
  2. Die env-Variablen wurden mit export httpund httpsBefehl hinzugefügt .
  3. "-E" in der Befehlszeile hinzugefügt:

     sudo -E apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
    

Dann bekam ich die folgende Antwort:

gpg: requesting key 7F0CEB10 from hkp server keyserver.ubuntu.com
gpg: key 7F0CEB10: "Richard Kreuter <[email protected]>" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1

Und ich habe MongoDB 3.0.7 wie unten gezeigt erfolgreich installiert.

$ mongo --version
MongoDB shell version: 3.0.7
Ravichandran K
quelle