Repo privado sobre pacotes ssh, apt-get ignoring

1

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

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

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

Depois disso, como raiz, gerei chaves via gpg como raiz

sudo su
gpg --key-gen

Então eu recuperei um keyid, digamos 1234

Então eu cd para 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 algum pacote para repo via:

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

No meu computador cliente, giro 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 raiz no cliente. Acredito que tenha sido autenticado com êxito, mas não tenho certeza.

Em /etc/apt/sources.list, 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, eu recebo

Falha ao buscar o ssh: //server.com/home/repo-usr/ubuntu/dists/xenial/main/binary-amd64/Package Read error - read (0: Success)

No entanto, o arquivo do pacote existe e parece bom.

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

carpinteiro
fonte

Respostas:

0

O repo-usr deve ser fornecido com um shell.

usermod -s /bin/bash repo-usr

corrigiu o problema.

carpinteiro
fonte