SSH接続可能なコンテナ

テストを行う際にSSHで接続可能な相手がいる必要があったのでDockerで対応できないか試してみた。

■ 環境

  • Docker 1.12.1
  • Mac OSX El Capitan

■ sshd

まずは検索。

$ docker search sshd
NAME                                DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
rastasheep/ubuntu-sshd              Dockerized SSH service, built on top of of...   42                   [OK]
devtransition/jmeter-remote-sshd    jMeter server running standalone as remote...   3                    [OK]
  :
$

とりあえず一番上に出力されたコンテナを試してみることにする。

$ docker pull rastasheep/ubuntu-sshd

レポジトリの名前からDockerHub上のURLが想像できるのでブラウザで確認。

https://hub.docker.com/r/rastasheep/ubuntu-sshd/

とりあえず普通に起動して良さそうだ。

$ docker run -d -P --name test_ubuntu rastasheep/ubuntu-sshd

確認して接続してみる。

$ docker ps -a
CONTAINER ID        IMAGE                    COMMAND               CREATED             STATUS              PORTS                   NAMES
e090434f3fec        rastasheep/ubuntu-sshd   "/usr/sbin/sshd -D"   15 seconds ago      Up 14 seconds       0.0.0.0:32768->22/tcp   test_ubuntu
$
$ docker port test_ubuntu 22
0.0.0.0:32768
$
$ ssh -p 32768 root@localhost
root@localhost's password:
Last login: Fri Sep 30 13:51:20 2016 from 172.17.0.1
root@e090434f3fec:~#

お、接続できた。これは試験用に使えそうである。

以上。

brewでインストールしているアプリのversionを固定

表題の通り。単なるメモである。

■ 環境

  • Homebrew
  • Mac OSX El Capitan

■ pin

現在使用しているversionで固定することが可能である。`brew upgrade`を実行しても`upgrade`されなくなる。

$ brew pin [formula]

`pin`を解除するには`unpin`するだけである。

$ brew unpin [formula]

以上。

Posted in: Mac | Tagged:

前日の日付を取得

shellで表題の通り。

■ 環境

  • Linux
  • Mac OSX El Capitan

■ Linux

下記のようなコマンドで取得することができる。

$ date -d '-1 day'
Tue Sep 27 19:17:28 JST 2016
$

下記の方がわかりやすいだろう。

$ date -d yesterday
Tue Sep 27 19:18:23 JST 2016
$

■ Mac

ちなみにMacではオプションが少々違うようである。

$ date -v-1d
2016年 9月27日 火曜日 19時22分30秒 JST
$

以上。

firewalldでdrop

CentOS7の環境において表題の通り。

■ 環境

  • firewalld
  • CentOS 7

■ firewall-cmd

公開しているCentOS7のホストに対して、どこかの国から頻繁にSSHでログインしようとしている形跡がある。22番ポートを閉じてしまうのが一番手っ取り早いのだが、この機会にCentOS7でのiptablesの代替(?)となっているfirewalldで、iptablesでやっていた時と同じように特定のIPからは全て”Drop“という設定をしてみることにする。

$ sudo systemctl start firewalld

現在の状況を確認。

$ sudo firewall-cmd --get-active-zones
public
  interfaces: eth0 eth1
$

デフォルトではこれだけであるようだ。では特定のIPをアクセス不可にする。ここではIPを仮に”192.168.33.10“としてみた。

$ sudo firewall-cmd --zone=drop --add-source=192.168.33.10
success
$
$ sudo firewall-cmd --get-active-zones
drop
  sources: 192.168.33.10
public
  interfaces: eth0 eth1
$

なるほど。これでしばらく様子を見てみることにしよう。

以上。

packerをMacにインストール

表題をMacにインストールする。単なるメモである。

■ 環境

  • packer 0.10.2
  • Mac OSX El Capitan

■ packer

以前から存在は知っていたのだが使う機会がなかった。今回、AWSでAMIを定期的に作ることが出てきそうだったので、機械的にAMI化したいなということで試してみることに。

packer-001

https://www.packer.io/

インストールはいつも通りである。

$ brew update
$ brew install packer

ちょっと確認。

$ which packer
/usr/local/bin/packer
$
$ packer -v
0.10.2
$ packer -h
usage: packer [--version] [--help]  []

Available commands are:
    build       build image(s) from template
    fix         fixes templates from old versions of packer
    inspect     see components of a template
    push        push a template and supporting files to a Packer build service
    validate    check that a template is valid
    version     Prints the Packer version

$

さて、これからいろいろ試してみよう。

以上。