我想写这样的事情/etc/apt/sources.list
:
deb sftp://[email protected]/path other stuff
当我尝试这个时,apt-get
抱怨说没有sftp
方法apt
:
# apt-get update
E: The method driver /usr/lib/apt/methods/sftp could not be found.
有人写过补丁来添加这个sftp
方法吗apt
?我在 Google 上找到的只有此规格适用于 Ubuntu。
感谢您的帮助。
编辑:我忘了说我目前使用该ssh
方法,而且效果很好。我之所以寻找方法,sftp
是因为我想在服务器上的 chrooted 环境中设置存储库,以提高安全性。我发现很难设置和维护可用的 chrooted 环境ssh
(因为您需要 chrooted 环境中的二进制文件及其依赖项,并且您需要维护它们以防它们需要安全更新),而不是 chrooted 环境sftp
(只需使用适当的sshd_config
选项)。
答案1
这行需要在你的/etc/apt/sources.list
deb ssh://[email protected] /path/to/packages/on_the_server/
您可能想要设置自动密钥登录和类似的东西。您还需要将软件包镜像到您控制的服务器,以便以这种方式安装它们。因为您需要服务器上的一个帐户。
答案2
我不确定您是否想要一个安全的文件传输来保证软件包本身的安全,在这种情况下,我建议使用dpkg-sig
,以及您喜欢的非加密传输(例如 chroot 的 http 服务器)。
或者使用apt-transport-https
如果您想要对启用 SSL 的 Web 服务器进行安全身份验证,您可以将其配置为在 chroot 环境中运行,带有或不带有用户身份验证(例如,使用 .htaccess 进行简单的 Apache 访问控制)。
由于我不熟悉您对经过身份验证的安全 apt 服务器的用例,所以我可能会忽略您情况的某些方面。