koeだめ 過去アーカイブ[〜2013-12-14]

最新情報は https://www.pixiv.net/fanbox/creator/3780274 にて

ec2sshで追加したSSH configの"Host"を正規表現で絞り込んで一斉にsshのセッションを貼るコマンド「ec2cssh」をつくってみた

ec2cssh | RubyGems.org | your community gem host

コマンド

ec2cssh connect

引数(必須)

接続したいHostを絞る正規表現パターン
例えば、'production'を含むサーバに繋ぎたい場合は、'.*production.*'を指定。

--ec2ssh_update オプション(任意)

'ec2ssh update'コマンドを指定。デフォルト値は'ec2ssh update'。

自分の場合、VPC対応パッチ済みec2sshを使っているので 'ec2ssh update --dns-name-key private_dns_name'を指定

--cssh オプション(任意)

'cssh'コマンドを指定

自分の場合、Macでcsshxを使っているので、'cssh'を指定

--port オプション(任意)

sshポート番号を指定。デフォルト値は無し(csshコマンドの既定のポート番号が使われます)

利用例

「自分の場合」をまとめると、

  • productionを含むHostに繋ぎたい
  • VPC対応パッチ済みec2sshを利用して、プライベートDNSでもって繋ぎたい
  • csshxを使いたい

というものになるので、ちょっと長いけど*1書きを実行して、複数のproduction系サーバにたのしくsshする生活をはじめました。

ec2cssh connect '.*production.*' --ec2ssh_update 'ec2ssh update --dns-name-key private_dns_name' --cssh 'csshx'

次にやりたいこと

  • テスト書く
  • dry-runっぽいのできるようにする
  • オプションを設定ファイルから読めるようにする

*1:エイリアス切ってます