1
我有一個副本從本地用戶到遠程機器的關鍵的ansible任務:Ansible - 在文件中查找環境變量
我想用戶變量,而不是my_user。 。?。Enviernoment vairble(即lookup('env', 'DEPLOY_KEY_PATH')
或事實上任何變量
是否有可能
我有一個副本從本地用戶到遠程機器的關鍵的ansible任務:Ansible - 在文件中查找環境變量
我想用戶變量,而不是my_user。 。?。Enviernoment vairble(即lookup('env', 'DEPLOY_KEY_PATH')
或事實上任何變量
是否有可能
要獲取當前用戶的關鍵,當然你也可以使用~
別名這將工作:
authorized_key: state=present user=deployer key="{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
另外請注意,state=present
可能不是強制性的,但it is a good practice to keep it。
然後,雖然這取決於Ø ñ你的項目到底是什麼,我不建議你這樣做,原因有三:
這是我建議你要做的。
在項目的根目錄中添加files/sshkeys/my_user.pub
文件,並在該文件中粘貼所需的任何公鑰。 Pubkeys很少改變,所以維護這個文件不太可能會成爲問題。
├── files
│ └── sshkeys
│ └──my_user.pub
├── hosts
└── site.yml
您可以使用authorized_key模塊查找密鑰文件:
authorized_key: state=present user=deployer key="{{ lookup('file', './files/sshkeys/my_user.pub') }}"
或者,當你問,如果你使用一個變量:
authorized_key: state=present user=deployer key="{{ lookup('file', './files/sshkeys/'+ user.name +'.pub') }}"