Ansible 用于初始连接的授权密钥模块

Ansible 用于初始连接的授权密钥模块,ansible,Ansible,是ansible的授权密钥模块,可用于将主机的ssh密钥复制到新的远程用户?ansible完全通过ssh。因此,您也必须使用ssh来设置ssh。至少,您需要一个正在运行的ssh守护程序和一个可以使用密码访问主机的用户 然后,您可以使用-k(或-ask pass,请求SSH密码)、-k(或-ask sudo pass,请求sudo密码)和-u(或-user,作为此用户连接)访问主机 假设您有一个foo用户可以在远程计算机上使用ssh和sudo,并且您希望安装一些ssh公钥以root身份登录,您可以

是ansible的授权密钥模块,可用于将主机的ssh密钥复制到新的远程用户?

ansible完全通过ssh。因此,您也必须使用ssh来设置ssh。至少,您需要一个正在运行的ssh守护程序和一个可以使用密码访问主机的用户

然后,您可以使用
-k
(或
-ask pass
,请求SSH密码)、
-k
(或
-ask sudo pass
,请求sudo密码)和
-u
(或
-user
,作为此用户连接)访问主机

假设您有一个
foo
用户可以在远程计算机上使用ssh和sudo,并且您希望安装一些ssh公钥以root身份登录,您可以执行以下操作:

ansible yourhost -kKu foo -m authorized_key -a "ssh-dss AAAAB...zzz foo@foo.org"
将要求您键入:

  • 远程主机上的foo密码
  • 当foo正在sudo到root时的密码

有关读取本地ssh密钥(查找)的其他方法,请参阅。

为什么不使用“复制”进行此操作?我想知道,我们是否可以自动与新的远程主机建立初始连接。我想,复制模块只能在建立连接后使用。我明白了,所以您不想传递--private key或使用您自己的ssh配置文件进行第一次连接,而是想使用这个模块。那么我相当肯定答案是否定的;您需要使用通常的ansible机制(ansible_ssh_private_key_file,等等)。您的意思是,即使我还没有将ssh密钥复制到远程主机,这也可以实现。这意味着尚未完成初始设置。远程主机是新的,并且ansible主机的公钥尚未在远程主机上。ansible yourhost-Kku foo-m authorized_key-a“user=foo key='ssh-dss aaaaaab…..zzzzzzfoo@foo.org'"