我有 fab 文件,其中包含
env['hosts'] = ['localhost']
env['user'] = 'code'
env['password'] = 'searce'
def mk_dirtree():
sudo("mkdir %s" % PROJECT_DIR)
sudo("chown -R code:code %s" % PROJECT_DIR)
run("mkdir -p %s" % (PROJECT_DIR + '/www/static'))
sudo("chown -R www-data:www-data %s" % (PROJECT_DIR + '/www'))
现在当我这样做时fab mk_dirtree
我不断提示[localhost] Login password for 'code':
我在使用密钥通过 ssh 连接的 ec2 实例上运行此程序,并且禁用了 ssh 的密码登录
EDIT:我认为面料首先是做的ssh code@localhost
但这不起作用,因为密码共享被禁用
如果您确实想要并且需要使用run()
代替local()
您可以将您的 SSH 公钥添加到~/.ssh/authorized_keys
您的用户帐户的文件。
这看起来像这样:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
此解决方案将绕过本地计算机的登录密码提示。当然,您必须对运行 fabfile 的每台本地计算机执行此操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)