Ansibleでsshの待受ポートを変える際にハマった点についての備忘録
- Ansibleとはhttps://qiita.com/t_nakayama0714/items/fe55ee56d6446f67113c
- 公式ドキュメント http://docs.ansible.com/
環境
作業機
OS: Mac OSX El Capitan
Ansible: 2.4.2.0
操作対象サーバ
OS: CentOS6.9 minimal
rootバス: password
sshdポートの変更先: 2222
要点
- sshdのポートいじったあとにファイアウォール設定をする
- 再起動する際にNICが自動起動するようにする
- 変更した後の対象サーバへの接続は変わった後のポートを使う
ソースコード
下準備
操作対象サーバ側
NIC確認
# ls /etc/sysconfig/network-scripts/ | grep ifcfg
NIC立ち上げ/ローカルIP確認
# ifup eth0
# ifconfig
ローカルIPは192.168.1.7らしい。
ここまで得られた値はMac側から接続する際に使う値なので、適宜ソースのhostsファイルとchange_sshd_port.ymlのvarsで定義している変数の値を修正。
playbookとインベントリファイルの作成
記述するタスク
- sshd_configのバックアップと編集
- iptablesのバックアップと編集
- NICのコンフィグファイルのバックアップと編集
- 捜査対象サーバの再起動
- 再起動待機
記述はソース参照。
※ 再起動以降はAnsibleで接続するホストのポートが変わるため、再起動後にもセットアップが続く場合は、その前後でそれぞれ定義しておくといい感じになる。
実行
Mac側
$ sudo ansible-playbook -i hosts change_sshd_port.yml
#事故発生。
症状と対応
https://qiita.com/usk81/items/f629f780eba18d5bfdf5#%E5%8E%9F%E5%9B%A0
sshpass導入後、リトライ
#再び事故発生。
症状と対応
http://sankakuvalidator.hatenablog.com/entry/ansible-role-gitbucket
うまいことAnsibleから解決できる方法があったらしい。(操作対象サーバ上で直接yumから入れた後に気付いた顔)
い い 感 じ に な っ た 。