クラウドVPS byGMOでSSH接続したいんだけど?
今回はSSH接続についてですよ。
この記事ではクラウドVPS byGMOでSSH接続するっていうことを書いていきます。
この記事で分かること
- クラウドVPS byGMOでSSH接続する手順
- セキュリティを高めてSSH接続する方法
ポイント
クラウドVPS byGMOは14日間無料で使えます。無料期間が終わっても勝手に課金されることはないから安心です。
クラウドVPS byGMOでSSH接続していきましょう。
クラウドVPSbyGMOでSSH接続する方法
クラウドVPS by GMOでサーバーを作成すると初期状態だとrootユーザーと設定したパスワードでSSH接続することができます。
$ ssh root@IPアドレス
IPアドレスは管理画面から確認することができます。
SSH接続できなかったら
SSh接続できなかったら、コンソールから接続してみてSSH接続の設定ファイルを確認してみるといいです。
$ vi /etc/ssh/sshd_config
それとファイアウォールで22番が許可されているか確認しましょう。
安全にSSH接続できるように設定する
この状態だと簡単にSSH接続できていいんだけど、rootとIPアドレス、そしてパスワードが分かっていればアクセスできてしまいます。
rootなんてよくあるものだしIPアドレスも簡単に分かってしまいます。後はパスワードだけど総当たりでいつか正解してしまうでしょう。rootは何でもできてしまう権限を持っているので非常に危険です。
設定項目
安全にSSH接続できるように設定していきましょう。
- root以外のユーザーを作成して接続する
- rootでの接続を禁止する
- パスワード認証を禁止して鍵認証だけにする
- SSH接続のポートを変更する
サーバーに接続する
サーバーにある設定ファイルを編集するので、サーバーに接続します。WebコンソールかSSH接続でやりましょう。
Webコンソール
- ユーザー名・・・root
- パスワード・・・設定したパスワード
SSH接続
SSH接続は普通にsshコマンドで接続です。
$ ssh root@IPアドレス # パスワードが問われるので、設定したパスワードを入力。
パスワードを忘れたら
パスワードは変更できるので、忘れたら変更して接続するといいです。
SSH接続のセキュリティを高める
root以外のユーザーを作成する
# ユーザーを追加
$ useradd ユーザー名
# ユーザーのパスワード設定
$ passwd ユーザー名
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
Wheelグループへ追加
今回はOSがCentOSだからWheelグループっていうのが既にあるけど、Ubuntuなんかはないです。そういった場合はユーザーに対して権限を与えるか、グループを作って権限を与えるかなどするといいです。
centosはwheelグループが作られています。visudoで見てみるとwheelグループに権限が与えられていますね。
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
このグループに作成したユーザーを追加します。
$ usermod -G wheel ユーザー名
# wheelグループの所属ユーザーを確認(kobayashiを追加したのでkobayashiがいます)
$ getent group wheel
wheel:x:10:kobayashi
これでkobayashiがwheelグループに追加されました。
作成したユーザーの鍵を作る
$ su kobayashi
$ cd /home/kobayashi
$ mkdir .ssh
$ sudo chmod 700 .ssh
$ cd .ssh
# 鍵作成
$ ssh-keygen
=> id_rsa.pub(公開鍵)とid_rsa(秘密鍵)が作成される。秘密鍵はダウンロードして手元に置いておきます。
# authorized_keysに変更します。
$ mv id_rsa.pub authorized_keys
$ chmod 700 /home/kobayashi/.ssh/
これで作成したユーザーでダウンロードした秘密鍵を使ってSSH接続します。
$ ssh -i 秘密鍵へのパス kobayashi@IPアドレス
接続できたらOK。
rootユーザーのSSH接続を禁止する
$ sudo vi /etc/ssh/sshd_config
PermitRootLogin without-password
↓
PermitRootLogin no
パスワード認証をなしに変更
$ sudo vi /etc/ssh/sshd_config
PasswordAuthentication yes
↓
PasswordAuthentication no
$ vim /etc/ssh/sshd_config
SSH接続のポートを変更する
$ sudo vi /etc/ssh/sshd_config
Port 22
↓
Port 2222
再接続
sshdを再起動。
$ sudo service sshd restart
ログアウトしてからrootでSSH接続できないこと、作成したユーザーでSSH接続できることが確認できればOK。
$ ssh -i gmocloud.key kobayashi@IPアドレス -p 2222
firewallが設定されていると2222番アクセスははじかれます。(下で書きます)
- rootでSSH接続できないこと
- 作成したユーザーでパスワードを使ってSSH接続できないこと
- 作成したユーザーで鍵を使ってSSH接続できること
ファイアウォールでSSHのポート設定をする
クラウドVPS byGMOには管理画面からファイアーウォールの設定ができるので、そこでSSHのポート番号を設定した番号に変更します。
2222に変更したので2222を追加して、元の22番は削除します。
これで2222番でしかSSH接続できなくなりました。
何か運用する際には使うポートをここで許可しておきましょう。
まとめ
クラウドVPS byGMOでSSH接続する方法を書いてみました。
- クラウドVPS byGMOでSSH接続する手順
- セキュリティを高めてSSH接続する方法
最初はrootで接続できるけど、できるだけrootでは接続できないようにしておくことをお勧めします。やっぱりrootは怖いので。