Posso ter o apt-get aceitando minhas credenciais de autorização?

0

Eu tenho uma máquina virtual Ubuntu que eu uso no trabalho. Anteriormente, eu usava isso sem problemas, mas havia uma atualização que agora exige que todas as conexões de saída sejam autenticadas com nosso nome de usuário e senha internos.

Quando eu estou usando o navegador na minha máquina, isso não é um problema, eu posso simplesmente digitar minhas credenciais e então seguir em frente, mas quando eu estou rodando apt-get update (ou qualquer comando desse tipo) eu sou bombardeado com falhas:

W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/precise-backports/universe/source/Sources 401 Authorization Required [IP: 91.189.91.14 80]

W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/precise-backports/multiverse/source/Sources 401 Authorization Required [IP: 91.189.91.14 80]

Existe alguma maneira de eu dizer apt-get para parar e pedir-me para inserir minhas credenciais quando uma solicitação de autorização chegar, em vez de apenas falhar? Não consigo encontrar nenhuma opção na página de ajuda sobre isso:

Options:
-h  This help text.
-q  Loggable output - no progress indicator
-qq No output except for errors
-d  Download only - do NOT install or unpack archives
-s  No-act. Perform ordering simulation
-y  Assume Yes to all queries and do not prompt
-f  Attempt to correct a system with broken dependencies in place
-m  Attempt to continue if archives are unlocatable
-u  Show a list of upgraded packages as well
-b  Build the source package after fetching it
-V  Show verbose version numbers
-c=? Read this configuration file
-o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp
    
por Mike 11.12.2013 / 16:58

1 resposta

0

É feio e inseguro, mas sim, você pode.

Veja esta página da web para instruções sobre como configurar o apt-get para use um proxy http que requer autenticação; em particular, a seção marcada "Como fazer login de um usuário proxy".

Há também o apt-get não funciona com proxy , que delineia outro método, mas ambos sofrem do mesmo problema.

Seu nome de usuário e senha são codificados em algum lugar.

Como alternativa, você poderia escrever um pequeno wrapper de script de shell para o apt-get, que poderia lhe pedir seu nome de usuário e senha, e apenas definir a variável de ambiente na memória. Ainda é inseguro, já que a memória do processo pode ser examinada, mas menos do que tê-la codificada em um arquivo.

#!/bin/bash
read -p "Username: " username
read -s -p "Password: " password
export http_proxy=http://${username}:${password}@yourproxyaddress:proxyport
sudo apt-get "$@"

Infelizmente, acho que não há nada embutido no apt-get que lide com isso para você.

    
por EdwinW 25.01.2014 / 01:55