Ansible ユーザーとSSH鍵を指定する方法

環境
RHEL 7.9
Ansible 2.10

操作方法
1.ssh鍵を生成する

$ ssh-keygen -t rsa -f cft_key

秘密鍵のcft_keyと公開鍵のcft_key.pubファイルが生成されます。

2.サーバーに鍵を配置する

$ scp ./cft_key.pub root@[ホスト名]:~/.ssh/

3.authorized_keysに鍵を登録します。

$ ssh root@[ホスト名]
パスワードを入力
$ chmod 700 ~/.ssh
$ cat ~/.ssh/cft_rsa.pub >> authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
$ rm ~/.ssh/cft_rsa.pub

4.rootログインを利用する設定
$ vi /etc/ssh/sshd_config
以下の行をコメントアウトして保存します。

#RSAAuthentication yes
#AuthorizedKeyFile .ssh/authorized_keys
#PermitRootLogin yes

5.SSHDを再起動する

$ service sshd restart

6.鍵認証でログインできることを確認する

$ ssh -i ./cft_key root@[ホスト名]

7.AnsibleのPlaybook実行時に引数で指定する場合は、以下のように-uと–private-keyオプションを利用します。

$ ansible-playbook -i [インベントリファイル名] [Playbookファイル名] -u root --private-key="./cft_key"

 

Ansible

Posted by arkgame