我发现最实用的文章,实际上是Debian administration site,但安全方法使用ssh和公钥/私钥.它运行良好但每个主机的公钥都需要位于远程authorized_keys文件中才能成功进行身份验证.
它没有提到为ssh://提供密码,但我想它应该是可能的.
您是否尝试过其他替代方案(例如ftps)?
提前致谢
解决方法
初始配置
– 连接到您要管理的服务器,并将这样的内容添加到/etc/apt/sources.list(此示例假定您希望服务器连接到经理帐户):
deb ssh://manager@my.repository.org/path other stuff
>在您自己的计算机上创建一对私钥/公钥,例如您的登录johndoe(假设您的计算机在debian上运行:如果没有,您可以从专用于管理的debian服务器执行此操作):
ssh-keygen
>确保它受强大的密钥短语保护
>将您的公钥复制到/home/manager/.ssh/authorized_keys中的存储库服务器:
ssh-copy-id manager@my.repository.org
每次管理会议一次
>键入以下命令启动计算机上的ssh代理:
eval `ssh-agent`
>将您的密钥添加到代理(这将需要您的密码):
ssh-add
管理服务器
>使用ssh -A连接到要管理的服务器(-A激活代理转发):
ssh -A some.server.org
>切换到root(如果你想使用sudo你需要配置/ etc / sudoers,否则sudo会破坏代理转发,read this):
su
>由于代理转发,您现在应该可以使用ssh连接到存储库的经理帐户而无需再次输入密码.因此,apt-get应该可以正常工作:
apt-get udate
结束您的管理会话
>完成管理服务器后,从代理中删除密钥:
ssh-add -D
好处
>不需要太多的初始配置
>只需要一个私钥
>私钥受强密码保护
>如果某人获得了对您的某个服务器的root访问权限,则他们将无法立即访问您的存储库服务器.
>请注意,如果黑客是耐心且合格的,他可以等到您使用代理转发连接到服务器,并且他可以劫持转发机制以获得对存储库服务器的访问权限.>为了防止这种情况发生,您可以使用ssh-ask接受/拒绝每次使用密钥的尝试.>在任何情况下,黑客都无法访问私钥:他只能劫持转发机制才能使用密钥,并且只能在您连接到服务器的时候.