Ansible哈希密码不起作用
我的playbook全局变量中有一个带有Ansible哈希密码不起作用,ansible,ansible-2.x,Ansible,Ansible 2.x,我的playbook全局变量中有一个带有ansible\u ssh\u user和ansible\u ssh\u pass的变量。我尝试用各种方法散列我的密码,但我仍然无法ssh到我的远程vm。我试过ansible\u user和ansible\u pass,但还是没有成功。以下是我使用的方法,但都失败了。我不确定我错过了什么,希望一些专家能帮上忙。当我使用清除密码时,它会工作,但不会散列。以下是我尝试过但仍不成功的方法:- 1. mkpasswd --method=SHA-512 2. p
ansible\u ssh\u user
和ansible\u ssh\u pass
的变量。我尝试用各种方法散列我的密码,但我仍然无法ssh到我的远程vm。我试过ansible\u user
和ansible\u pass
,但还是没有成功。以下是我使用的方法,但都失败了。我不确定我错过了什么,希望一些专家能帮上忙。当我使用清除密码
时,它会工作,但不会散列。以下是我尝试过但仍不成功的方法:-
1. mkpasswd --method=SHA-512
2. python -c "from passlib.hash import sha512_crypt;
print sha512_crypt.encrypt('<password>')"
3. # python
>>> import crypt
>>> crypt.crypt('<PASSWORD>', '$6$salt$')
4. cat /etc/shadow | grep <user>
Try to get the encrypted password but still not working
1。mkpasswd——方法=SHA-512
2.来自passlib.hash import sha512_crypt的python-c;
打印sha512_加密(“”)
3. # python
>>>导入密码
>>>地窖。地窖(“,$6$salt$”)
4.cat/etc/shadow | grep
尝试获取加密的密码,但仍不起作用
我已确认我的虚拟机正在使用加密方法SHA512
。什么都没用,如果有人能帮忙,我会很感激的
我尝试用各种方法散列我的密码,但我仍然无法ssh到我的远程vm
还有一个很好的理由——要使用SSH协议和密码验证连接到远程计算机,您必须提供密码,而不是密码哈希
在口令认证中,用户提供口令,系统处理口令。作为一种安全措施,系统存储密码散列而不是密码,以便在出现漏洞时,密码本身不会受到损害 如果出于某种原因,系统允许使用散列而不是密码对用户进行身份验证,这将是一个巨大的安全漏洞(相当于将密码存储在明文中) 如果确实需要使用密码身份验证,Ansible Vault提供了一种保护密码的方法。否则,请使用公钥身份验证 我尝试用各种方法散列我的密码,但我仍然无法ssh到我的远程vm 还有一个很好的理由——要使用SSH协议和密码验证连接到远程计算机,您必须提供密码,而不是密码哈希
在口令认证中,用户提供口令,系统处理口令。作为一种安全措施,系统存储密码散列而不是密码,以便在出现漏洞时,密码本身不会受到损害 如果出于某种原因,系统允许使用散列而不是密码对用户进行身份验证,这将是一个巨大的安全漏洞(相当于将密码存储在明文中)
如果确实需要使用密码身份验证,Ansible Vault提供了一种保护密码的方法。否则,请使用公钥身份验证。您似乎希望访问您的虚拟机并使用Ansible执行某些操作
现在它应该可以工作了。看起来您希望访问您的虚拟机并使用Ansible做一些事情
现在它应该可以工作了。陈述一下你真正想做的事情可能会有好处。只说您所做的并不能解释任何事情。我正在尝试从机器A运行Ansible,并期望Ansible to ssh到机器B使用
Ansible\u ssh\u user
和Ansible\u ssh\u pass
执行一些任务。当ansible\u ssh\u pass
处于清除状态时,一切正常,我可以通过ansible从机器A登录到机器B。在我散列密码的那一刻,它就不工作了。希望helpsIt能够帮助您陈述您实际想要做的事情。只说您所做的并不能解释任何事情。我正在尝试从机器A运行Ansible,并期望Ansible to ssh到机器B使用Ansible\u ssh\u user
和Ansible\u ssh\u pass
执行一些任务。当ansible\u ssh\u pass
处于清除状态时,一切正常,我可以通过ansible从机器A登录到机器B。在我散列密码的那一刻,它就不工作了。希望这有助于链接不起作用。然而,我可能错了,这种方法要求我将公钥复制到我需要连接的每台机器上,对吗?假设我在机器A中运行ansible,并将在30台机器中执行一些任务。我需要将机器A
公钥复制到所有30台机器上,以使密钥对正常工作。反之亦然,如果我错了,我仍然需要使用ssh-keygen
在所有30台机器中生成私钥。我仍然需要一些方式登录到30台机器。对不起,错误的链接,我已经更新了相同的。是的,您是对的,您需要将公钥复制到所有远程计算机。我假设您正在使用一台中央计算机(DOCM)在远程计算机上运行Ansible。复制密钥是一次性任务。您可以使用“for”循环轻松地实现自动化。”“谢谢。在复制密钥需要身份验证之前,我有过ssh copy id
的经验。这就是为什么我试图避免在ansible中使用ssh密钥,而只是使用普通的旧用户/密码凭据。无论如何,我已经决定在我的变量文件中使用clear passwordansible\u ssh\u pass
,但使用ansible vault对文件进行加密,并将ansible vault密码存储在Hashicorp vault中。这将工作,但我需要包括更多的工具和努力