Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

My new server instances are configured to login on root via ssh with password. I want my playbook to reconfigure it to use keys instead and disable root login with password on first run, so I need something like this:

  • try to login with key

  • if can't login with key:

    • login with password
    • add key to authorized_keys
    • disable root login with password
    • optionally reconnect using key
  • do other tasks

How can I acomplish that?

share|improve this question
    
Good question, what have you tried so far? –  dawud Nov 4 '13 at 18:08
    
I took the ssh configuration to a separate playbook and I run it with -k option, then I run the main playbook without -k (using key from agent). I was hoping it can be wrapped in a single playbook though... –  petr0 Nov 4 '13 at 18:26
add comment

1 Answer

Because I dont yet have reputation for comments, i need to write it as answer but it might not be complete. You can use --ask-pass when running ansible-playbook.

For other tasks you asked, it is achievable by various means, eg, copy module. Disabling root login also can be done eg. by templating sshd_conf or inserting line in conf file.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.