先日東横イン町田に宿泊したときにSSHがつながらない事態になった。
考えてみると一般利用者のほとんどはWeb閲覧だろうから80/443とかメールぐらいのポートしか開けていないのかも?
東横イン全部でSSHが使えないのか、それともこの町田だけなのかはわからないが、結構大きなホテルチェーンなので不要なポートは開けないというセキュリティポリシーは統一されてそうだな。
今後いろいろなビジネスホテルで突撃体当たり取材をして明らかにしていこう!
先日東横イン町田に宿泊したときにSSHがつながらない事態になった。
考えてみると一般利用者のほとんどはWeb閲覧だろうから80/443とかメールぐらいのポートしか開けていないのかも?
東横イン全部でSSHが使えないのか、それともこの町田だけなのかはわからないが、結構大きなホテルチェーンなので不要なポートは開けないというセキュリティポリシーは統一されてそうだな。
今後いろいろなビジネスホテルで突撃体当たり取材をして明らかにしていこう!
Cygwinで過去コマンドを検索したくて、いつものhistory + grepの合わせ技コマンドを実行したら
「バイナリファイル (標準入力) に一致しました」と出るのみで、肝心の結果が出ない。
history | grep core バイナリファイル (標準入力) に一致しました
どうもバイナリファイルと勘違いしているようなので、-textオプションを付けてやる
history | grep core --text
今度はテキストと認識されて無事検索できましたとさ。
Ansibleのplaybookは一度作ってしまうと、それを再利用することが中心なので簡単なコマンドでも忘れてしまう!
今回は単にregisterした変数の中身を表示させるというもの。
debug モジュールは単に文字列を表示させることもできるし、変数の中身を展開させることもできる。
- name: register IP shell: echo "test" register: debugstr - name: display debugstr debug: var=debugstr
本日iPhone6がまったく通信できない状況に陥った。
もう一台のAndroidマシンpriori2では通信ができているため、端末の問題と思われる。
こういう時はいったん機内モードにしてから戻すことで回復する可能性があるが、
それもだめ!
そんな時は最終手段で再起動!そしたら通信が復活した。
スマートフォンはWindowsと同様長期起動していたら、不具合に遭遇しやすいので
このような現象を防ぐために定期的に再起動するようにしておくのが良いだろう。
AzureとAWSはいろいろ勝手が違うので戸惑うことが多いが、本日は昨夜停止したマシンなのに「引き続きコンピューティングの料金は発生」なる表示がでて課金が継続されていた。
よくよく調べると
管理コンソールから停止した場合は、停止後料金は発生しないのだが、
SSHなどで内部からshutdownした場合は、停止扱いにならないらしい(ログインもできないのに!)
というわけで完全に課金停止にするにはクソ重いコンソールから停止をしなければならないのだ。
停止済みには二つの種類があって、
コンソールから停止した場合には
停止済み(割り当て解除済み)となる。
割り当て解除済みという文言がポイントで、この割り当てにはパブリックIPも含まれるため再起動するとIPが変わっている。一方SSHなどでシャットダウンした場合は停止済みだけの表示となり、再起動してもIPは変わらないかわりに課金は継続している。
昨今の不正アクセス対策として、二段階認証が導入されているが、
万が一スマートフォンが壊れたらどうすりゃーいいの?
システム(google,Slack)によってはバックアップコードなどを用意してあり、それを利用することで
通常のパスワード認証のあとバックアップコードを入れることで認証することができる。
壊れた時の代替手段が用意されていないのが、AWSのコンソールである。
AWSコンソールに二段階認証を必須としている状態で、スマートフォンが壊れた場合はコールセンターに電話して、英語でのやり取りをして本人確認後利用再開できるらしいが結構大変らしい。
なのでバックアップ用として同じQRを読み取るスマートフォンを用意することをお勧めする。
乱数も同じものがでるので、普段はどちらを使ってもよい。
今はやりの二段階認証(2FA)だが、Slackの場合すでにログインしているところからどうやってもたどり着ける導線が見つからない。
その場合は直接URLを打ち込むのがよろしい。
(いい加減見つかりづらくてイライラしてた)
https://my.slack.com/account/settings#two_factor
あとはここで、Google Authenticatorを使ったものを選べば終了。
ちなみに二段階認証は二台のスマートフォンにいれておけば、片方が壊れても大丈夫。
どの仮想マシンを起動しても、上記エラーで失敗。
新しい仮想マシンでも失敗。
しょうがないので英語サイトで情報収集。
以下の情報を得る。
要約すると
1. C:\Program Files\Oracle\VirtualBox\drivers\vboxdrv\VBoxDrv.inf ファイルを右クリックしてインストール
2. コマンドプロンプトを管理者モードで開いたうえで、sc start vboxdrvを実行する
3. その後仮想マシンを起動すると成功!
Went to the C:\Program Files\Oracle\VirtualBox\drivers\vboxdrv directory, right clicked on VBoxDrv.inf and selected Install. I then went back to my console and typed ‘sc start vboxdrv’ and got this:
SERVICE_NAME: vboxdrv
TYPE : 1 KERNEL_DRIVER
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
PID : 0
FLAGS :
Went back to VirtualBox and was able to start the Ubuntu virtual machine.
AnsibleでPostgreSQLの操作を行おうとしたが、rootユーザのままだと認証できない。
pd_hba.confの場所はOSによって違う。
正しかったとしてもパスワード初期状態では接続できない。
(fe_sendauth: no password suppliedというエラーがでる)
という八方塞がりな状況でどうしたものか?
もはやMySQLに移行して二度とPostgreSQLは使わないとすねかけていたが、
世の中のサンプルをみるとpostgresユーザーで操作を行うのが良いようだ。
というわけでsudoとsudo_userを関連タスクにもれなくつけることにした。
- name: create postgres db postgresql_db: name=XXXX encoding='UTF-8' lc_collate='ja_JP.UTF-8' lc_ctype='ja_JP.UTF-8' template='template0' login_user=postgres sudo: yes sudo_user: postgres - name: create user postgresql_user: db="XXXX" name="XXXX" password="PASSWORD" priv=ALL state=present login_user=postgres sudo: yes sudo_user: postgres
久々にPostgreSQLを利用したら、案の定ユーザー認証ではまる。
基本的にpostgresユーザでローカルで作業する分には問題発覚しないのであるが、別のユーザーでつなごうとしたら以下のPeer authentication failed for user “postgres”が出た。
このエラーメッセージの意味はunixユーザーと同じアカウントじゃないとだめといわれている。
外部から接続する場合はこの認証方式は邪魔なので通常のパスワード認証に変えておく。
AmazonLinuxの場合なぜか設定ファイルが~postgres/dataにはなく
/var/lib/pgsql9/dataに存在する。
# psql -U postgres template1 psql: FATAL: Peer authentication failed for user "postgres" $ vi pg_hba.conf #peerをコメントアウトしてmd5にしたものを追加 #local all all peer local all all md5 # 再起動! # /etc/init.d/postgresql restart Stopping postgresql service: [ OK ] Starting postgresql service: [ OK ]