3
9

More than 3 years have passed since last update.

さくらのVPSにSSH接続+最低限のセキュリティ対策

Last updated at Posted at 2020-05-13

初期設定+rootユーザー作成

  • コンパネにログイン
  • 「各種設定」>「OSインストール」
  • CentOS7を選択
  • rootユーザー用のパスワードを設定(作成)

rootユーザーでssh接続。デフォルトでは鍵認証では無く、パスワードでの認証が設定されています。

$ ssh root@xxx.xxx.xxx.xxx #ipアドレス

The authenticity of host 'xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx.xxx)' cant be established.
ECDSA key fingerprint is SHA256:+CMQV+bQVjTp+CJcpoj1u+J6LS24dAUWjv3tkxFYBSE.
Are you sure you want to continue connecting (yes/no)? #yesを入力

Password? # 先ほど作成したパスワードを入力
$ yum update

一般ユーザーを作成

$ adduser vpsuser
$ passwd vpsuser
Changing password for user vpsuser.
New password: #パスワードを設定
$ exit

一般ユーザーでログイン

$ ssh vpsuser@xxx.xxx.xxx.xxx #ipアドレス

ポート変更&rootユーザーでログインできないようにする

この設定をしないと、一晩で3万件くらいの不正アクセス(の試み)を受けてびっくりすることになります。

$ su - # rootユーザーに切り替え
$ vi /etc/ssh/sshd_config # sshdの設定を編集
/etc/ssh/sshd_config
rootユーザーでログインできないようにする
- #PermitRootLogin yes
+ PermitRootLogin no

ssh接続のポート番号を変更 ※ウェルノウンポート以外のポート(49152〜65535)を指定
- Port 22
+ Port 50022
$ systemctl restart sshd.service # 上記の変更を反映

一度ログアウトして

  • デフォルトのポートではログインできないこと
  • rootユーザーでログインできないこと
  • 一般ユーザーで50022のポートを指定するとログインできること

を確認

$ exit
$ ssh vpsuser@xxx.xxx.xxx.xxx #ipアドレス
ssh: connect to host xxx.xxx.xxx.xxx port 22: Connection refused
$ ssh root@xxx.xxx.xxx.xxx -p 50022
permission denied...
$ ssh vpsuser@xxx.xxx.xxx.xxx -p 50022
SAKURA Internet [Virtual Private Server SERVICE]

Firewallの設定

$ su - # rootユーザーに切り替え 
$ vi /usr/lib/firewalld/services/ssh.xml # ssh接続のポート番号変更に対応
/usr/lib/firewalld/services/ssh.xml
- <port protocol="tcp" port="22"/>
+ <port protocol="tcp" port="50022"/>
$ systemctl start firewalld #firewallを起動
$ systemctl enable firewalld.service #firewallの自動起動設定
$ firewall-cmd --list-all # 許可されている接続を確認
$ firewall-cmd --add-service=http --permanent #http接続を許可
$ firewall-cmd --add-service=https --permanent # https接続を許可
$ firewall-cmd --reload # 設定を反映
$ firewall-cmd --list-all
$ systemctl reboot #OSを再起動

SSHキーペアでログインできるようにする

ローカルでキーペアを作成

$ cd .ssh
$ mkdir sakura_vps
$ cd sakura_vps
$ ssh-keygen -f id_rsa

公開鍵をサーバーに登録

$ cat ~/.ssh/sakura_vps/id_rsa.pub | pbcopy
$ ssh vpsuser@xxx.xxx.xxx.xxx #ipアドレス
$ cd .ssh # or mkdir .ssh → cd .ssh
$ vi authorized_keys # クリップボードにコピーした公開鍵を登録
$ chmod 600 authorized_keys
$ chmod 700 ~/.ssh

viコマンドは、指定したファイルがあれば開き、なければ新規作成してくれます。
クリップボードにコピーした公開鍵の記述をautorized_keysに貼り付けて保存しましょう。

次に鍵を使ったログインの確認です。

$ exit
$ ssh -i ~/.ssh/sakura_vps/id_rsa vpsuser@xxx.xxx.xxx.xxx -p 50022

最後に、ssh-configに記述を追加して、ssh接続時のコマンドを簡略化します。

$ exit
$ vim ~/.ssh/config

以下の記述を追加

~/.ssh/config
Host sakura_vps
 HostName xxx.xxx.xxx.xxx # ipアドレス
 Port 50022
 User vps_user
 IdentityFile ~/.ssh/sakura_vps/id_rsa

接続確認

$ ssh sakura_vps
3
9
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
3
9