2012-10-09 20 views
3

我有一个包含面料不断要求密码

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':

我在一个EC2实例上运行这其中我通过连接对SSH使用SSH密钥和密码登录禁用

编辑: 我觉得织物先做ssh [email protected]但不会因为密码sshing被禁用的工作

回答

4

如果您确实需要并需要使用run()而不是local(),则可以将SSH公钥添加到用户帐户的~/.ssh/authorized_keys文件中。

这将是这个样子:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 

该解决方案将绕过你的本地计算机的登录密码的提示。当然,您必须为每台运行fabfile的本地机器执行此操作。

+0

这真的帮助我在我的iMac。我正在开发我的run()命令,这可以快速测试我的本地主机上的这些命令。 – zerocog