ansibleでSSHトンネリング(SSHポートフォワーディング)

ansibleを使ってローカルPCから踏み台サーバへSSH接続したあとに、SSH接続をしたサーバに対して操作がしたい

※ ansible2.1を使用

ローカルPC -----SSH-----> 踏み台サーバ -----SSH-----> 対象サーバ

そのためには以下の二つが必要
- トンネルを掘る
- インベントリの設定

1. トンネルを掘る
以下のコマンドを実行
ssh -L 10022:対象サーバ:22 ユーザー名@踏み台サーバ
(ポート番号は適当に10022にした。適宜変更)

2. インベントリ
作成したトンネルを利用するようにインベントリを記述する。

hosts
[local]
127.0.0.1
[local:vars]
ansible_port = 10022

以上で設定が完了。試しにファイルのコピーを行ってみる
ansible local -m copy -a "src=~/a.txt dest=~/b.txt" --ask-pass

ローカルPCから対象サーバへファイルがコピーできることがわかる
関連書籍
Back