ConoHa VPS

ConoHa VPSでSSH接続する方法とおすすめ設定を紹介します。

ConoHa VPSでSSH接続ってどうやるの?

今回はそんなConoHa VPSでSSH接続する方法を書いていきたいと思います。

この記事で分かること

  • ConoHa VPSにSSH接続する方法(パスワード認証)
  • ConoHa VPSにSSH接続する方法(鍵認証)
  • ConoHa VPSにroot以外のユーザーでSSH接続する方法
  • rootのSSH接続の禁止設定方法
  • パスワード認証の禁止設定方法

SSH接続する方法を見ていくんですが、後半ではセキュリティ面を意識してrootユーザーではSSH接続できないようにしていきます。VPSをちゃんと使うならやっておくことをお勧めします。

ConoHa VPSでSSH接続する方法を見ていきましょう。

ConoHa VPSでSSH接続する方法

SSH接続する方法は大きく分けて2つです。

  • ユーザーとパスワードでログインする
  • 公開鍵・秘密鍵を使ってログインする

どちらの方法も書いていくけど、後でrootユーザー以外でSSH接続する方法を書いていきます。

ユーザー名(root)とパスワード(rootパスワード)で接続する

接続先のIPアドレスが分かっていれば、rootと設定したrootパスワードでログインすることができます。

IPアドレスを確認する

ネームタグをクリック
IPアドレス

SSH接続する

ユーザー名にroot、IPアドレスに確認したIPアドレスを入力して接続しましょう。

$ ssh root@IPアドレス

パスワードが聞かれるけど、サーバー作成時に設定したrootパスワードを入力すればログインできます。

ConoHa VPSに鍵認証でSSH接続する

ConoHa VPSの管理画面でSSH鍵を作ることができるので、そこで作成した鍵を使ってSSH接続したいと思います。

手順としてはこんな感じです。

  • ConoHa VPSでパブリックキーを作成
  • ConoHa VPSでプライベートキーをダウンロード
  • ダウンロードしたプライベートキーを使ってSSH接続

ConoHa VPSでパブリックキーを作成する

ConoHa VPSの[セキュリティ→SSH Key]と進んで[+パブリックキー]をクリックしましょう。

ネームタグを入力して保存をクリックすると、プライベートキーがダウンロードできます。

ダウンロードボタンを押すとプライベートキーがダウンロードされます。ダウンロードしたら、鍵の場所とパーミッションは変更しておきます。

$ mv conoha-vps-private-key.pem /Users/〇〇/.ssh/
$ cd /Users/〇〇/.ssh/
$ chmod 600 conoha-vps-private-key.pem

公開鍵をサーバーに配置する

さっき作成したSSH Keyのパブリックキーを確認しましょう。

これをサーバーの中の.ssh/authorized_keysに配置します。

$ ssh root@IPアドレス
$ cd .ssh
$ vim authorized_keys
=> パブリックキー貼り付け

鍵を使ってSSH接続する

これで試しにrootでssh接続してみましょう。

$ ssh -i 鍵までのパス root@サーバーのIPアドレス

これで鍵を使って接続できました。

SSH接続のセキュリティを強化する

SSH接続の方法を見てみたけど、rootで接続できてしまうのでセキュリティが怖いです。

rootはなんでもできるユーザーです。どんな操作もできるって考えるとちょっと怖いですよね。rootはなんでもできてしまうから、何かサーバーの中身をいじる分にはなんの制限もなく色々できてしまうので楽です。ただセキュリティ面は最悪です。

このrootを許可したまま作業するのはいただけないので、rootユーザーでのSSH接続は禁止するのがおすすめです。

求めるのは以下の方法を用いたSSH接続。

  • root以外のユーザーでパスワード認証を使わず鍵認証だけでSSH接続

上記以外の以下のような接続はセキュリティ的に禁止したいです。

  • rootを使ったSSH接続
  • ユーザーのパスワードを用いたSSH接続

設定項目

少しサーバー設定をする必要があるけど、今のままだと怖いので設定してしまいましょう。やることとしては以下です。

  • root以外のユーザーの作成
  • パスワード認証の禁止

この後作業していくんだけど、今回ConoHa VPSで作業するOSはUbuntuです。OSよって多少違うけど大体の作業は同じはず。

root以外のユーザーを作成する

rootユーザーでssh接続したら別のユーザーを作成します。ユーザー名はkobayashiにしておこう。

$ adduser kobayashi(useraddだとホームディレクトリが作成されないのでadduser)
=>パスワードの入力を求められるので、好きなパスワードを設定する

wheelグループを作成する

CentOSであれば、すでにwheelグループは用意されているけど、UbuntuなどのOSによってはないのでその場合は作成します。

$ groupadd wheel

wheelグループを作成したらこのグループをsudoできるように設定します。

$ visudo
=> %wheel  ALL=(ALL) ALL 
を追加

初期状態がnanoで開かれます。

vimエディタに変更する

nano使いたくない人はエディタを変更しましょう。以下コマンドでnanoからvimに変更できます。

$ update-alternatives --config editor

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /bin/nano            40        auto mode
  1            /bin/ed             -100       manual mode
  2            /bin/nano            40        manual mode
  3            /usr/bin/vim.basic   30        manual mode
  4            /usr/bin/vim.tiny    15        manual mode

wheelグループにユーザーを追加する

$ usermod -G wheel kobayashi

これでrootに代わってkobayashiっていうユーザーが実行できるようになりました。これでSSH接続を試してみましょう。

$ ssh kobayashi@サーバーのIPアドレス
=> 設定したIPアドレスを入力してログイン

ユーザー作成時に設定したパスワードを入力すればログインできます。ただこれだとまだパスワードログインできてしまっているので、後ほど変更します。

rootのログインを禁止する

rootでログインできないようにします。

$ sudo vim /etc/ssh/sshd_config

#PermitRootLogin yes => noに変更する

再起動してrootでログインできないことを確認しましょう。

$ sudo service ssh restart

これでrootでログインしようとすると弾かれるはずです。

SSH接続のパスワードログインを禁止する

この時点でrootでのログインはできなくなったけど、作成したユーザーでのパスワードログインはできてしまいます。なので、それを禁じます。

$ sudo vim /etc/ssh/sshd_config

PasswordAuthentication yes => noに変更

これで再起動して完了です。

$ sudo service ssh restart

root以外の作成したユーザーで鍵認証してSSH接続できるようにする

rootアカウントがSSHの鍵認証を使用している場合を参考に作成したユーザーで鍵認証してログインできるようにします。

$ rsync --archive --chown=kobayashi:kobayashi ~/.ssh /home/kobayashi

これでkobayashiで鍵を使ってログインできるようになりました。

まとめ - ConoHa VPSでSSH接続する方法

今回はConoHa VPSでSSH接続する方法について書きました。

  • パスワードを使った認証
  • 鍵を使った認証

上記の方法について書いたけど、おすすめの方法はrootを使わずに別のユーザーで鍵を使ったSSH接続です。設定はちょっと面倒だけど、最初やっておけばあとは楽です。

ユーザーを作成してやったこととしては以下。

  • ユーザーの作成
  • root権限と同じぐらいの強さを持つwheelグループの作成
  • wheelグループに作成したユーザーを追加
  • rootでのSSH接続を禁止に
  • パスワード認証を禁止にして鍵認証のみに

これで作成したユーザーを使った鍵認証でしかSSH接続できなくなりましたね。

  • この記事を書いた人

管理人

各VPSの使い方を紹介します。

-ConoHa VPS