2014-10-30 99 views
0

ansible的authorized_key模块是否可用于将主机的ssh密钥复制到新的远程用户?用于初始连接的授权密钥模块

+0

为什么不使用“复制”呢? – seanmcl 2014-10-30 13:35:59

+0

我想知道,我们是否可以自动化与新的远程主机建立的初始连接。我想,复制模块只能在连接建立后才能使用。 – Vasu 2014-10-30 13:49:17

+0

我明白了,所以不要传递--private-key或使用你自己的ssh配置文件来建立第一个连接,所以你想使用这个模块。那么我相当肯定答案是否定的;你需要使用通常的安全机制(ansible_ssh_private_key_file等) – seanmcl 2014-10-30 14:01:13

回答

1

Ansible完全通过SSH。所以你必须使用ssh来设置ssh。至少,您需要运行ssh守护程序以及可以使用密码访问主机的用户。

然后,您可以访问使用-k主机(或--ask-pass,要求SSH密码),-K(或--ask-sudo-pass,要求输入sudo密码)和-u(或--user,连接该用户身份)。

比方说,你有一个foo用户可以在远程机器上的SSH和须藤,并要安装一些SSH公钥以root登陆,你可以这样做:

ansible yourhost -kKu foo -m authorized_key -a "ssh-dss AAAAB...zzz [email protected]" 

You'l被要求键入:

  • Foo的密码远程主机上
  • 密码时FOO被sudoing根

请参阅http://docs.ansible.com/authorized_key_module.html以获取读取本地ssh密钥(查找)的其他方法。

+0

你的意思是这个工程,即使我还没有将ssh密钥复制到远程主机。这意味着没有初始设置已经完成。远程主机是新的,并且主机的公钥尚未在远程主机上。 – Vasu 2014-10-30 14:36:14

+0

ansible yourhost -Kku foo -m authorized_key -a“user = foo key ='ssh-dss AAAAB ..... zzzz [email protected]'” – Vasu 2014-10-30 15:20:09