sshd の設定

Facebooktwittergoogle_plustumblrmail

年始から魔が差して VPS を借りてしまった。とりあえずスタートは Ubuntu 14.04.5 。ここでは、つぎに列挙するような目標を達成したい。

  • VPS へは (サーバー屋さん提供の JAVA コンソールじゃなくて) ssh でログインしたい
  • ssh ではパスワード認証ではなく公開鍵認証したい
  • root 以外の一般ユーザーを追加し今後はそちらを使う
  • root の ssh ログインは禁止、且つ root のアカウントはロック

というわけでまずは sshd 周辺のセットアップから始めようと思う。一等最初であり今回は VPS 管理用コンソールから VPS へ root ログインして作業するしかない。

(1) ユーザー追加

一般ユーザー (user_name) を追加し以後そちらを使う。今回このユーザーには以下の権限を追加した :

  • adm : 管理者権限を持つユーザーになる
  • sudo: sudo できるユーザーになる
  • www-data: Apache2 関連の操作ができるユーザーになる
<<VPS 上での作業>>
login: root
# adduser user_name
    : ..対話式でユーザー追加..
# usermod -aG adm,sudo,www-data user_name

(2) ログイン許可するユーザーの公開鍵リストを VPS 内へ構築する

予め自分のローカルホストに鍵を作ってあるものとする。その公開鍵をローカルから scp で VPS へ送る。

<<ローカル>>
$ cd ~/.ssh
$ scp id_rsa.pub user_name@vpshost.myvpsserver.com:/home/user_name

VPS 側では、今ローカル送った公開鍵をそのユーザーの認証済みキーのリストへ加える。

<<VPS>>
$ mkdir .ssh
$ chmod 700 .ssh
$ id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
$ rm id_rsa.pub

(3) VPS 側の sshd 設定を変更

VPS 上で作業。

<<VPS>>
# vi /etc/ssh/sshd_config
    : ...EDIT... << (3-1)
    : ...EDIT... << (3-2)

(3-1) root の ssh 経由ログインを禁止する設定

diff -u /etc/ssh/sshd_config.ORG /etc/ssh/sshd_config 
--- /etc/ssh/sshd_config.ORG 2017-01-10 21:37:38.077580165 +0900
+++ /etc/ssh/sshd_config 2017-01-10 21:58:59.966774827 +0900
@@ -25,7 +25,7 @@
-PermitRootLogin yes
+PermitRootLogin no

(3-2) ssh ログインでパスワード認証を禁止

diff -u /etc/ssh/sshd_config.1 /etc/ssh/sshd_config
--- /etc/ssh/sshd_config.1 2017-01-10 21:58:59.966774827 +0900
+++ /etc/ssh/sshd_config 2017-01-10 22:00:22.207658520 +0900
@@ -50,6 +50,7 @@
 # Change to no to disable tunnelled clear text passwords
 #PasswordAuthentication yes
+PasswordAuthentication no

(4) root をロックしアクセスを禁止する

VPS 上で作業。

<<VPS>>
$ sudo passwd --lock root
passwd: password expiry information changed.

(5) VPS リブート

<<VPS>>
$ sudo reboot

(6) 以降の ssh アクセス方法

ここまでのセットアップが終わったあとは、ローカルホストから ssh で以下のようにアクセスできるようになる。

$ ssh user_name@vpshost.myvpsserver.com << ここまではローカル
user_name@vpshost:~$ << ここから先は VPS

参考リンク

次の一手

sshd の接続待ちポート番号を変える

Facebooktwittergoogle_plustumblrmail
Yusuke Dada K.
Yusuke Dada K.
台湾の現地企業で主に組み込みソフトウエアの研究開発をしている日本人です。我人是個日本人,負責軟體的研究開發。在臺灣的科技公司工作。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です