每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
在使用 Fabric 的过程中,如果大批量服务器处理的话,我们就需要针对配置主机的密码,每台主机的密码相同还好,不同的话,就需要针对不同的主机做配置了,以下有两种配置方式
Fabric 在某些场合下通过保持在内存中以及双重缓存来帮助你记录登录密码以及 sudo 密码。当多个系统的密码一样的时候,这可以避免让你重复乏味的输入密码。或者是一个远程系统的 sudo 配置文件没有缓存它自己的密码时候。
第一层是一个默认简单的或是备用的密码缓存。env.password(它也可以通过命令行参数--password或是--initial-password-prompt来设定)。这个 env 变量存储单个密码,它会咋当前的host string没有指定的主机缓存条目的事件的时候尝试。
env.passwords(复数,表示多个密码),作为每一个主机用户的缓存,为唯一的 user/host/port 组合存储了最近输入的密码1。由于这个缓存,连接具有相同 session 的不同用户和主机,仅仅只要求单个的密码。
依赖于你的配置文件以及你 session 连接的主机的数目,你可能会发现设置这些 env 常有用的。尽管如此, Fabric 会在必要的时候自动填充他们,不需要你多余的配置。
特别说明,每次对用户提出的密码提示,这值都会被用于更新这默认的密码缓存以及 env.host_string 当前值的缓存值。
文档中,为了安全起见,最好是使用 SSH KEY 的方式来批量执行主机,操作方式如下:
我们强烈推荐使用基于 SSH key 的访问方式代替依靠同样的密码,SSH key 方式是更加安全的↩
刀锋上的跳舞的 SRE,喜爱 Perl, Python, Go,常被正则婊戏耍,热衷于鼓捣一些小玩具。
推荐: