当前位置:  开发笔记 > 编程语言 > 正文

面料密码

如何解决《面料密码》经验,为你挑选了5个好方法。

每次结构运行时,它都会询问root密码,是否可以自动发送.

fab staging test

nkrkv.. 56

我知道你已经问过密码,但配置系统不是更好,这样你就可以在没有密码的情况下进行结构(即SSH)吗?

为此,在本地机器上执行:

    ssh-keygen 并同意所有默认值(如果您没有其他原因)

    cat ~/.ssh/id_rsa.pub 并复制该密钥

在远程机器上:

    mkdir ~/.ssh && chmod 700 ~/.ssh

    touch ~/.ssh/authorized_keys2 && chmod 600 ~/.ssh/authorized_keys2

    将复制的密钥粘贴到 authorized_keys2

从现在起,您的远程计算机"信任"您的本地计算机,并允许在没有密码的情况下登录.便利.



1> nkrkv..:

我知道你已经问过密码,但配置系统不是更好,这样你就可以在没有密码的情况下进行结构(即SSH)吗?

为此,在本地机器上执行:

    ssh-keygen 并同意所有默认值(如果您没有其他原因)

    cat ~/.ssh/id_rsa.pub 并复制该密钥

在远程机器上:

    mkdir ~/.ssh && chmod 700 ~/.ssh

    touch ~/.ssh/authorized_keys2 && chmod 600 ~/.ssh/authorized_keys2

    将复制的密钥粘贴到 authorized_keys2

从现在起,您的远程计算机"信任"您的本地计算机,并允许在没有密码的情况下登录.便利.


使用ssh-copy-id可能会更快:``ssh-copy-id``用法:/ usr/bin/ssh-copy-id [-i [identity_file]] [user @] machine
我不得不运行`chmod 700~/.ssh`来让它工作

2> 小智..:

您还可以基于每个主机设置密码.这对我来说并不明显,所以这里适合任何寻找此事的人:

from fabric import env
env.hosts = ['user1@host1:port1', 'user2@host2.port2']
env.passwords = {'user1@host1:port1': 'password1', 'user2@host2.port2': 'password2'}

Fabric缓存在env.passwords字典中使用了密码.它使用完整主机字符串作为该字典的键和密码作为值来设置此缓存.如果您在执行任何任务之前自己设置此字典,Fabric将根本不会要求它们.



3> Alex Martell..:

fab -h会告诉你所有选项,你也可以在这里阅读.

特别是,我引用,

-p PASSWORD, - password = PASSWORD

将env.password设置为给定的字符串; 然后,在进行SSH连接或调用sudo程序时,它将用作默认密码.



4> 小智..:

只是为了从搜索中结束这里的任何人添加,您可以-I在运行fab时指定该选项,以提示您输入默认密码.这样在命令历史记录中就不会显示它

例:

$ fab -I my_task
Initial value for env.password: 



5> fahhem..:

不将密码放入进程列表(命令显示在ps aux中)的一种方法是将它放在fabfile.py中,如下所示:

from fabric.context_managers import env
env.password = 'PASSWORD'

把它放在任何进入远程系统的东西之前,它不再需要密码了.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有