SSH хранилище может получить обновление без пароля
Я пытаюсь построить частный репозиторий apt с использованием prespro. Мне удалось получить SSH-логин без пароля после создания цепочки ключей SSH. Я могу успешно войти в хранилище, если я в него SSH.
На клиентском компьютере я добавил хранилище в список источников apt, например:
deb ssh://repo@192.168.60.128:/home/repo/repos/apt/ubuntu xenial main
Но когда я пытаюсь использовать apt-get update
Мне все еще нужно ввести пароль, иначе он не будет продолжен. Это только показывает:
100% [Connecting to repo@192.168.60.128]
Есть ли способ, которым apt может использовать мой ключ, чтобы получить доступ к хранилищу без ввода пароля?
2 ответа
Я решил эту проблему, создав ключ ssh от имени пользователя root на клиентском компьютере. После этого мне нужно было добавить этот открытый ключ к авторизованным ключам на сервере Ubuntu. Теперь я могу использовать репозиторий apt, используя ssh с ключами без ввода пароля.
Вам нужно добавить команду в /etc/sudoers. Посмотрите на это Как мне запустить определенные команды sudo без пароля?
Другой вариант - использовать ssh без пароля для пользователя root, но обычно это считается очень плохой идеей. Как настроить беспарольный доступ по SSH для пользователя root
В вашем репо войдите в систему как root sudo su
и затем выполните эту команду:
echo "%sudo ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers
Это позволит любому пользователю запускать apt-get без пароля. Эта команда используется для обновления, но также может использоваться для установки / удаления пакетов... будьте осторожны. Я думаю, что было бы лучше использовать пароль или включить автоматическое обновление на сервере.