カメノドットコム
Debian大好きでメインで節操ない感じ。
GMOもわりと好き。
RSS feedly

SSHのrootログインを禁止

SSH接続で「rootログインOK!」とか「しかもパスワードログインもできるヨ!」とか、簡単にサーバを乗っ取られますので、対策を講じましょう。
ここではまず、rootログインを禁止します。一般ユーザが存在しない場合は 一般ユーザを追加する を参考に、ユーザを作成してください。

---- [PR] ----
現在契約中 : GMOクラウドのVPS : お名前.com
今後契約するかも : お名前.com VPS
--------------

/etc/ssh/sshd_config を編集する

/etc/ssh/ssh_config/etc/ssh/sshd_config があって紛らわしいですが。
/etc/ssh/sshd_config がSSHサーバの設定ファイルです。

この作業にあたっては、編集用とログイン確認用、ふたつのSSHクライアントを立ち上げるか、VPS付属コンソールで設定ファイルを編集します。
……設定をミスることもありますから。

$ sudo vi /etc/ssh/sshd_config
// 以下の行を探して編集追加
PermitRootLogin yes
 ↓に変更
#PermitRootLogin yes    ## コメントアウト
PermitRootLogin no      ## 追加

SSHサーバを再起動します。

$ sudo vi /etc/init.d/ssh restart
[ ok ] Restarting ssh (via systemctl): ssh.service.

クライアントソフトから、rootでSSH接続できないことを確認します。
Unix系とMacはターミナルからコマンド打つだけです。簡単です。
Windowsのクライアントの操作方法はすっかり忘れてわからなくなってしまったので、自力でヨロです。
PuTTY とか TeraTerm とかですか?

$ ssh root@もらったIP
root@もらったIP's password: 
Permission denied, please try again.
root@もらったIP's password: 
Permission denied, please try again.
root@もらったIP's password: 
Permission denied (publickey,password).

こんな感じで弾かれたらOKです。表示されるメッセージはクライアント関係ないはずです。
ちなみに /var/log/auth.log は以下のような雰囲気。IPとかドメインとかポート番号とか、適当に変更してます。

$ sudo tail -f /var/log/auth.log
Sep 11 19:45:23 localhost sshd[14409]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=xxxx.xxx.xx.jp  user=root
Sep 11 19:45:26 localhost sshd[14409]: Failed password for root from 123.456.789.10 port 54321 ssh2
Sep 11 19:45:42 localhost sshd[14409]: Failed password for root from 123.456.789.10 port 54321 ssh2
Sep 11 19:45:55 localhost sshd[14409]: Failed password for root from 123.456.789.10 port 54321 ssh2
Sep 11 19:45:55 localhost sshd[14409]: Connection closed by 123.456.789.10 [preauth]
Sep 11 19:45:55 localhost sshd[14409]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=xxxx.xxx.xx.jp  user=root

失敗したよ♥とか、接続閉じちゃうぞ♥とか、とにかくログインできないYO! というログが記録されていればOKです。
うっかりログインできてしまったら、設定がどこか間違っています。

セキュリティ的に、一般ユーザで鍵認証のみ許可、root権限が必要な作業は sudo コマンドを使用、というのが最低ラインになると思います。

Sponsored Link