Назад | Перейти на главную страницу

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

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

Итак, на VPS я создал новую учетную запись: репо-УСР

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

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

sudo su
gpg --key-gen

Итак, я получил keyid, скажем, 1234

Затем я вернулся в дом репо-УСР и создайте там репозиторий

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

И создайте два файла внутри conf.

распределения

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

параметры

ask-passphrase

Я добавляю пакет в репо через:

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

На моем клиентском компьютере я генерирую пару ключей ssh ​​для репо-УСР и поместите открытый ключ в авторизованные ключи на стороне сервера (в /home/repo-usr/.ssh/authorized_keys). Сгенерированный закрытый ключ я передаю пользователю 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 Read error - read (0: Success)

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

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

В репо-УСР должен быть снабжен оболочкой.

usermod -s /bin/bash repo-usr

исправил проблему.