ansible建立ssh密钥信任
使用ansible批量部署服务的前提是建立免秘钥登录。
服务器较多时,一个一个手动使用ssh-copy-id
建立免密钥登录也是不小的工作量。
怎样批量建立免密钥登录呢?
想法1
先在本机生成公钥,写个脚本使用ssh-copy-id
进行,这里需要知道每个ip对应密码。
想法2
网上找来的
ansible init_hosts -m file -a "path=/root/.ssh owner=root group=root state=directory" -k
ansible init_hosts -m copy -a "src=authorized_keys dest=/root/.ssh/authorized_keys owner=root group=root mode=0644" -k
有如下报错?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
自问自答吧,这里,应该是使用脚本实现的。
expect+ssh-copy-id,前提知道每个ip和密码。
除了使用
ssh-copy-id
指令進行操作外,還可以使用 authorized_key module 來使用,底下附上先前帶 workshop 時寫的簡易 playbook。如同 @phil 提到的,在還未傳入 ssh public key 之前,是需要先使用密碼登入的,屆時您第一次需使用類似以下的指令,來覆寫 username 和 password 才行。