問題
メール認証(confirm) を有効にしている状態で User.create(… してもメール認証が走りアクティブ化されない問題
解決
.confirm を呼べば良い。
## ユーザー生成 user_admin = User.create( email: 'admin@example.com', password: 'password', fullname: 'Administrator' ) user_admin.confirm
メール認証(confirm) を有効にしている状態で User.create(… してもメール認証が走りアクティブ化されない問題
.confirm を呼べば良い。
## ユーザー生成 user_admin = User.create( email: 'admin@example.com', password: 'password', fullname: 'Administrator' ) user_admin.confirm
VMware PlayerでSSH接続が切れまくる時の対処方法 – utarot.jp
この方法でも良いみたいだが、自分はこの情報を発見する前に下記設定で解消した。
厳密にはVPNというより、PPTP
が使えない。
一時期、国内で販売されているルータに搭載されているVPNはPPTPがほとんどであった。
バッファロー、NEC、IO-DATA等の国産メーカーが販売しているルーターに搭載されているVPN機能。
そのほとんどのプロトコルは PPTP
と呼ばれるもので古いプロトコルである。
明日に登場する iOS 10 や今月末に登場する macOS Sierra から PPTP
のクライアント機能が削除された。
よって、サードパーティのソフトウェアをインストールしないと接続ができない。
PPTP はセキュリティレベルが低い。 以前から PPTP はこの時代のセキュリティレベルは低いと言われていた。
自分は数年前、IODATAのブロードバンドルーターを使っていて、サポートセンターに 「PPTPがレガシーになってきているので、PPTP以外のサポートの予定はあるか?」と聞いたことがあるが、 あまり積極的ではない説明をうけたことがある。
今回、こういう状況なので、今後はメーカーの対応も変わるだろう。
以降はサードパーティ製のPPTPクライアント(Flow VPN Mac Clientなど)を使うか、 ブロードバンドルーターのPPTPを使わずにSoftEtherなどで独自にVPNサーバを構築する必要がある。
基本的に家に接続するときは IPsec/L2TP を使っているが環境によっては VPN(ESPパケット)を通さないネットワークがあるのので、SSHを開けておく。(22番ポートが閉まっていると詰むが・・・)
かといって、22番ポートインターネットに晒すのも気が引けるし、公開鍵認証も鍵の管理に不安が残る。なので、二段階認証を導入する。
CentOS 7 +Google Authenticator を利用して二段階認証に対応させる。
ただし、以下の方法は Tera Term では動作しない。 したがって、TeraTerm環境で設定し、セッションをすべて切ってしまうと ログイン不能 になるので注意。
(自分は気付かずにハマった。Macのターミナルや未確認だが TeraTerm 以外の Windows SSHクライアントだと動作するかもしれない。)
必要なパッケージのインストール
yum -y install git pam-devel automake libtool git clone https://github.com/google/google-authenticator.git
インストール
cd ~/google-authenticator/libpam ./bootstrap.sh ./configure make make install ln -s /usr/local/bin/google-authenticator /usr/bin cp /usr/local/lib/security/pam_google_authenticator.so /usr/lib64/security/
# To disable tunneled clear text passwords, change to no here! PasswordAuthentication no #PermitEmptyPasswords no #PasswordAuthentication yes # Change to no to disable s/key passwords #ChallengeResponseAuthentication yes ChallengeResponseAuthentication yes UsePAM yes # デフォルト AuthenticationMethods publickey,keyboard-interactive
PAMルールの新規作成 /etc/pam.d/google-auth
#%PAM-1.0 auth required pam_env.so auth sufficient pam_google_authenticator.so nullok auth requisite pam_succeed_if.so uid >= 500 quiet auth required pam_deny.so
/etc/pam.d/sshd
#%PAM-1.0 auth required pam_sepermit.so #auth substack password-auth auth substack google-auth auth include postlogin
ここから、動作させたいユーザーになる。 いろいろ聞かれるが、すべて y でいいと思う。
google-authenticator
QRコードとイマージェンシーコードが表示されるのでコードは控えておく。 QRコードはアプリ、Google認証システムで右上の「…(設定ボタン)」→「アカウントを設定」→「バーコードをスキャン」でスキャンすればOK