Ansible 始める前の鍵交換
なぜこの記事があるのか
Ansible
はssh
を利用するため、事前に鍵作成~公開鍵の配布が必要。
新規サーバを構築する際にどっちのサーバで鍵作成してどのファイルを配布するのか忘れがちなので記録する。
忘れがちなのはそもそも仕組みをちゃんと把握していないからだと思うけど。
手順
鍵作成
鍵を作成するのはAnsible
コマンド実行サーバ。構成管理「する」側。新しく作ったサーバではない。
$ whoami
ansi
$ ssh-keygen -t rsa -b 2048
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ansi/.ssh/id_rsa): ★Enterキーを押下
Created directory '/home/ansi/.ssh'.
Enter passphrase (empty for no passphrase): ★Enterキーを押下
Enter same passphrase again: ★Enterキーを押下
Your identification has been saved in /home/ansi/.ssh/id_rsa.
Your public key has been saved in /home/ansi/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:XtkavVbn2AvqcEGNA+ESqibcUvLfesSgDNf/dZgPpCM ansi@ansible
The key's randomart image is:
+---[RSA 2048]----+
| . o. |
| . o . o |
| . ... . . + . |
|..=..o . .=. |
| ++=. + S *.= . .|
| +o. .E + B.+ = |
| ...+.+.*.. o|
| .. .o.... .|
| .. .o . |
+----[SHA256]-----+
$ ls -ltr .ssh/
合計 8
-rw-r--r--. 1 ansi ansi 394 4月 28 14:36 id_rsa.pub
-rw-------. 1 ansi ansi 1675 4月 28 14:36 id_rsa
なお上記のとおりpassphrase
を指定しないなら以下のように-N ""
を指定するほうがEnterキーを押す回数が少ない。
$ whoami
ansi
$ ssh-keygen -t rsa -b 2048 -N ""
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ansi/.ssh/id_rsa): ★Enterキーを押下
Created directory '/home/ansi/.ssh'.
Your identification has been saved in /home/ansi/.ssh/id_rsa.
Your public key has been saved in /home/ansi/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:OwY2YDgkFLQGd/o2f4GZ3urbWC1r1rN5ZvCvehD7RL4 ansi@ansible
The key's randomart image is:
+---[RSA 2048]----+
|=++ . |
|.+.+ |
| o+ o |
|. + . + . . |
| + B S = |
| . = + ++ o |
| o O..* . |
| Bo+o.E |
| .=+o +O.o. |
+----[SHA256]-----+
公開鍵配布
配布するのは「公開鍵」。そりゃそうだ、秘密のものを外に広めるものではない。同じく鍵生成したサーバで実行。
新規サーバの情報は以下のとおり。
パラメータ | 値 |
---|---|
IP address | 192.168.56.3 |
rootパスワード | udon123 |
$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/ansi/.ssh/id_rsa.pub"
The authenticity of host '192.168.56.3 (192.168.56.3)' can't be established.
RSA key fingerprint is SHA256:F+6H9OQJhmRICg/80RYzJiZCYw+QCJul6j/Bkatj/04.
RSA key fingerprint is MD5:0f:98:3b:1e:d5:a8:06:b8:55:5e:fc:8e:0f:b1:ab:86.
Are you sure you want to continue connecting (yes/no)? yes ★YESを入力
/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password: ★新規サーバのrootのパスワード(udon123)を入力
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.
動作確認
$ ssh 192.168.56.3 -l root "hostname -I"
192.168.56.3
すばらしい。なおAnsible
にも接続確認用のコマンドがある。
$ ansible -i ~/hosts 192.168.56.3 -m ping -u root
192.168.56.3 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
参考
Author And Source
この問題について(Ansible 始める前の鍵交換), 我々は、より多くの情報をここで見つけました https://qiita.com/Ki2neudon/items/fc01ad7fe825bffcbc5c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .