ConoHaでサーバ立ててユーザ追加したりSSHの設定したり
inabaです。
ConoHaが安くてサーバ立ち上げが早くて良さげです。
なのでVPSを借りて、いじって遊ぶ用のサーバを作ります。
参考記事:
大体は上記に書いてある通りに進めます。
使用するOSはCentOS 7です。
ここには気になった事や追加でやった事等を書いていきます。
wheelグループって何?
wheelグループに追加と書かれている箇所があります。
# wheelグループに追加 $ gpasswd -a newuser wheel
wheelグループとはデフォルトでsudoができるグループです。
所属しているとユーザ個別に設定しなくてもsudoができます。
設定は/etc/sudoers
に記述されています。
$ cat /etc/sudoers ... ## Allows people in group wheel to run all commands %wheel ALL=(ALL) ALL ...
gpasswd
いつもグループへの追加はusermod
でやっていて、gpasswd
は知りませんでした。
usermod
は-a
忘れるとグループが置き換えられる事がありますが、gpasswd
はその心配が無いので良さげです。
パスワード無しでsudo
先程の/etc/sudoers
のwheelグループの設定の下にパスワード無し用の設定がコメントアウトされているのでそのコメントアウトを外し、元の設定をコメントアウトします。
sudo
は結構重要な操作なので自分は一旦パスワード有りで使ってみて、面倒になってきたら外そうと思います。
## Allows people in group wheel to run all commands # %wheel ALL=(ALL) ALL ## Same thing without a password %wheel ALL=(ALL) NOPASSWD: ALL
SSHログイン許可の設定はデフォルトを使う
参考サイトのSSHログインを許可の項目ですが、設定ファイル(/etc/ssh/sshd_config)はデフォルトだとこうなっていました。
#RSAAuthentication yes #PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
RSAAuthentication
とPubkeyAuthentication
がコメントアウトされています。
コメントアウトされているという事はデフォルト値が使われるという事。
ここにデフォルト値が書いてあるのですが、
RSAAuthentication
とPubkeyAuthentication
のデフォルト値はyes
です。
自分は極力デフォルトで行けるならデフォルトを使いたい人間なので、設定はいじらず、コメントアウトのまま使います。
SSHキーはローカルにあるものを使う
SSH鍵を作成の項目でホスト側でキーを新たに作ってローカルに秘密鍵をコピーしていますが、自分はローカルにSSHキーが生成してあるのでこれを使います。
ローカル:
$ cat ~/.ssh/id_rsa.pub # 公開鍵 ssh-rsa foobarbaz... # 出た文字列をコピー
サーバ(rootではなく、新しく作ったユーザで実行。):
$ ssh-keygen # ~/.sshディレクトリを手で作るのが面倒なのでコマンドで作る。 # デフォルトで良いのでEnter3回 $ echo 'ssh-rsa foobarbaz...' > ~/.ssh/authorized_keys # ローカルでコピーした公開鍵を登録 $ chmod 600 ~/.ssh/authorized_keys # パーミッションを設定
ssh-keygen
を使っちゃってますが、これは補完が効くコマンドの方が打つのが楽だから使ってます。
作った鍵は今は使わないので、普通にmkdir ~/.ssh
でもいいです。
authorized_keys
のパーミッションの設定が重要
これで結構ハマった。
SSHキーを使ってでログインしようとしても、パスワードを聞かれるので、sshのログが書かれる /var/log/secure
あたりを調べて
Authentication refused: bad ownership or modes for file /home/newuser/.ssh/authorized_keys
と出てきたのでこれで検索。
authorized_keys
のパーミッションにオーナー以外の書き込み権限がついているとダメなようだった。
実際にauthorized_keys
のパーミッションを見てみるとrw-rw-r–になっていたので上記の通りchmod 600 ~/.ssh/authorized_keys
でパーミッションを設定してやると、パスワードを聞かれなくなった!
ログイン攻撃がヤバい
lastb
でログイン失敗履歴が見られるのだが、身に覚えのない失敗が約1000回くらいあった。
怖くなってlast
でログイン成功履歴を見たが、そっちには身に覚えの無い履歴は無かったので良かったが、こんなに攻撃されるのかとビビるね。
精神衛生上良くない。
なので、rootからのログインを禁止とパスワードによるログインを禁止は絶対やるべき。
PermitRootLogin no PasswordAuthentication no
まとめ
何点か書きましたが、sshのauthorized_keys
のパーミッション以外は特にハマること無く進められました。
このサーバで何しよっかな〜。
今日はここまで。