Repo privado sobre ssh, apt-get ignorando pacotes

1

Eu queria criar um novo repositório privado do APT no meu VPS. Para protegê-lo, decidi me conectar via ssh e autenticar por chaves privadas / públicas.

Então no VPS eu criei uma nova conta: repo-usr

useradd -m -d /home/repo-usr -s /bin/false repo-usr

Depois disso, como root, eu gerava chaves via gpg como root

sudo su
gpg --key-gen

Então eu peguei um keyid, digamos 1234

Então eu cd em casa do repo-usr e criar um repositório lá

cd /home/repo-usr
mkdir -p ubuntu/conf

E crie dois arquivos dentro do conf.

distribuições

Codename: xenial
Architectures: amd64
Components: main
SignWith: 1234 

opções

ask-passphrase

Eu adiciono um pacote para repo via:

reprepro -b /home/repo-usr/ubuntu includedeb xenial main foo.deb

No meu computador cliente, eu gero o par de chaves ssh para repo-usr e coloco a chave pública em chaves autorizadas no lado do servidor (em /home/repo-usr/.ssh/authorized_keys) A chave privada gerada que transfiro para root no cliente. Acredito ter autenticado com sucesso, mas não tenho certeza.

Em /etc/apt/sources.list eu adiciono:

deb ssh://[email protected]:/home/repo-usr/ubuntu xenial main

E depois de limpar o cache do apt e executar o apt-get update, vejo que o apt simplesmente ignora os pacotes.

Ign:19 ssh://server.com/home/repo-usr/ubuntu xenial/main amd64 Packages
Ign:20 ssh://server.com/home/repo-usr/ubuntu xenial/main i386 Packages    

e assim por diante ... Além disso, recebo

Failed to fetch ssh://server.com/home/repo-usr/ubuntu/dists/xenial/main/binary-amd64/Package Read error - read(0: Success)

No entanto, o arquivo Package existe e parece bem.

Alguém tem alguma idéia do que estou fazendo de errado? A configuração mencionada acima está correta para tal cenário?

    
por carpenter 16.12.2016 / 14:53

1 resposta

0

O repo-usr deve ser fornecido com um shell.

usermod -s /bin/bash repo-usr

resolveu o problema.

    
por 18.12.2016 / 00:44

Tags