9
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ConoHa VPS初期設定

Last updated at Posted at 2019-04-26

ConoHa VPSの初期設定

OSはUbuntu18.04

ここでは、公開鍵認証を用いたSSH接続、ファイアウォールの設定までを行う

ユーザーを作成[1]

useraddで一般ユーザを作成し、 passwdでユーザのパスワード設定を行う。
-mオプションはユーザのホームディレクトリを作るためのもの。

例としてuser1を作成する。

[root]
$ useradd -m user1
$ passwd user1

idコマンドでユーザ情報を確認できる。

[root]
$ id user1
uid=1000(user1) gid=1000(user1) groups=1000(user1)

次に、user1にsudo権限を与える。
usermod-aオプションがないと追加ではなく上書きになる。

[root]
$ usermod -aG sudo user1

再度、idコマンドで確認するとsudo権限が与えられていることがわかる。
sudo権限を持つユーザが作成できたのでsuコマンドでユーザを切り替える。

[root]
$ su - user1

SSH接続

一般ユーザでパスワード認証のSSH接続が出来るか確認する

windowsの場合

$ ssh -l [ユーザー名] [IPアドレス]

UNIX系の場合

$ ssh username@ipアドレス

rootユーザでSSH接続できないようにする

ConoHa側でsshd_configファイルのPermitRootLoginをnoにする

$ sudo vim /etc/ssh/sshd_config
#PermitRootLogin yes
PermitRootLogin no 

以下のコマンドでリスタートすると反映される

$ sudo systemctl restart sshd

rootユーザでSSH接続できなければOK

公開鍵認証でSSH接続する[2]

セキュリティを高めるために公開鍵認証に変更する。
目標はローカル環境で鍵を作成し、サーバ側へ公開鍵を登録すること。

クライアント側

公開鍵と秘密鍵を生成。

~/.sshディレクトリの中に公開鍵(hoge.pub)、秘密鍵が作られる。

ssh-keygen -t rsa -b 2048 -f <filename>
scpコマンドでファイルをサーバ側へコピー

サーバのルートディレクトリに公開鍵をコピー。

$ scp ~/.ssh/hoge.pub remote-username@server-address:~

コピーができたらサーバ側の作業に移る。

サーバ側

~/.ssh/authorized_keysファイルにコピーした公開鍵の内容を追加[2]
# SSHログイン
$ ssh remote-username@server-address

# (以下処理はサーバ側)
# 公開鍵がコピーされていることを確認
$ cd ~ && cat hoge.pub

#「.ssh」ディレクトリを作成・パーミッションを変更
$ mkdir ~/.ssh
$ chmod 700 .ssh

#「~/.ssh/authorized_keys」を作成・パーミッションを変更
$ touch ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys

# 公開鍵を「~/.ssh/authorized_keys」に追加
$ cat ~/hoge.pub >> .ssh/authorized_keys

$ exit

/etc/ssh/sshd_configを編集する。

# 以下の行のコメントアウトを解除する
#PubKeyAuthentications yes
#AuthorizedKeysFile .ssh/authorized_keys

クライアント側からSSH認証でログインする。
(パスワード認証ではなく公開鍵認証でログイン出来ることを確認)

~/.ssh/configでSSH接続するときに楽する

configに接続情報を書いておくことで指定したHost名で接続できる。

~/.ssh/config
# Conohaサーバ
Host conoha
    HostName <ipアドレス>
    User <username> 
    Port 22
    IdentityFile ~/.ssh/hoge # 秘密鍵
    TCPKeepAlive yes

接続するときは以下のコマンドで行う。

$ ssh conoha

SSH接続で使用するポート番号を任意の番号に変更[1]

ポート番号は49152番から65535番の間で設定する
ConoHa上の設定ファイルを変更する。また、ローカルのconfigファイルのポート番号も変更する。

$ sudo vim /etc/ssh/sshd_config
# Port 22
Port [任意の番号]

リスタートして設定を反映させる。

$ sudo systemctl restart sshd

余談(scpコマンドで.ssh/configに書いた情報を使う)

$ # scp <コピー元> <コピー先>
$ scp ~/home/hoge.txt <congigで設定したhost名>:~/home/

ファイアウォールの設定

ssh, http, ftp, httpsの接続のみを許可するように変更する。

# ufwの状態確認
$ sudo ufw status
> Status: inactive

# ufwを有効化する
$ sudo ufw enable

# アクセスはデフォルトで拒否設定
$ sudo ufw default deny

# 必要なプロトコルの通信のみを許可する
$ sudo ufw allow https/tcp # port:443
$ sudo ufw allow http/tcp # port:80
$ sudo ufw allow ftp # port:21

# sshの許可はポート番号を指定する(ここでは50000にする)
$ sudo ufw allow 50000

# 上記で設定したものが反映されているかを確認
$ sudo ufw status verbose

# ファイアウォールを再読込して反映
$ sudo ufw reload
出典

[1] VPSを借りたらやるべき最低限のセキュリティ初期設定
[2] [SSHなるものをよくわからずに使っている人のための手引書] (https://qiita.com/kenju/items/b09199c4b3e7203a2867)

9
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?