Частное репо через ssh, apt-get, игнорируя пакеты

Я хотел создать новый частный репозиторий APT на моем VPS. Чтобы защитить его, я решил подключиться через ssh и аутентифицироваться с помощью закрытых / открытых ключей.

Итак, на VPS я создал новую учетную запись: repo-usr

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

После этого в качестве root я сгенерировал ключи через gpg как корень

sudo su
gpg --key-gen

Итак, я получил идентификатор ключа, скажем 1234

Затем я зашел в главную repo-usr и создал там репозиторий

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

И создал два файла внутри conf . Сгенерированный закрытый ключ я передаю root на клиенте. Я считаю, что успешно прошел аутентификацию, но не уверен.

В /etc/apt/sources.list я добавляю:

deb ssh://repo-usr@sever.com:/home/repo-usr/ubuntu xenial main

И после очистки кеша apt и запуска apt-get update я вижу, что apt просто игнорирует пакеты.

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    

и так далее ... Вдобавок ко всему я получаю

Не удалось получить ssh: //server.com/home/repo-usr/ubuntu/dists/xenial/main/binary-amd64/Package Ошибка чтения - прочтите (0: Успех)

Однако файл пакета существует и выглядит нормально.

Кто-нибудь знает, что я делаю не так? Подходит ли указанная выше настройка для такого сценария?

1
задан 16 December 2016 в 15:53
1 ответ

Репо-usr должен быть снабжен оболочкой.

usermod -s /bin/bash repo-usr

устранена проблема.

0
ответ дан 4 December 2019 в 05:30

Теги

Похожие вопросы