SSH 存储库无需密码即可更新

SSH 存储库无需密码即可更新

我正在尝试使用 reprepro 构建一个私有 apt 存储库。创建 SSH 密钥链后,我设法实现了无密码 SSH 登录。如果我通过 SSH 进入存储库,我可以成功登录。

在客户端机器上,我在 apt 源列表中添加了存储库,如下所示:

deb ssh://[email protected]:/home/repo/repos/apt/ubuntu xenial main

但当我尝试使用时apt-get update,我仍然需要输入密码,否则它不会继续。它只显示:

100% [Connecting to [email protected]]

有没有办法让 apt 可以使用我的密钥访问存储库而无需输入密码?

答案1

我通过在客户端计算机上以 root 身份创建 ssh 密钥解决了这个问题。之后,我需要将此公钥添加到 ubuntu 服务器计算机上的 authorized_keys。现在我可以使用密钥通过 ssh 使用 apt 存储库,而无需输入密码。

答案2

您需要将命令添加到 /etc/sudoers。看看这个如何在没有密码的情况下运行特定的 sudo 命令?

另一个选择是使用 root 用户进行无密码 ssh,但这通常被认为是一个非常糟糕的主意。 如何为 root 用户设置无密码 SSH 访问

在您的 repo 中,成为 rootsudo su然后运行以下命令:

echo "%sudo ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers

这将允许任何用户无需密码即可运行 apt-get。此命令用于升级,但也可用于安装/卸载软件包...请小心。我认为最好使用密码或在服务器中启用自动更新。

相关内容