サーバー

ConohaでLaravelをインストールするまで その1

GMO ConohaでLaravelをインストールする

  • サーバーの作成

サーバーの作成

conoha ConoHaコントロールパネル ConoHaコントロールパネル

SSH Keyは、自分のMacのid_rsa.pubを使う

ConoHaコントロールパネル ConoHaコントロールパネル

完了

ConoHaコントロールパネル

これで作成。

ターミナル

サーバーを作成した時に表示されるIPアドレスを使って、Macのターミナルからログインする。

$ssh root@[IPアドレス]

一般ユーザーの作成

参考記事

ConohaにVPSを設置して、SSHログイン、ポート番号変更、rootログイン禁止までを30分で!

ユーザー作成の作成
$ useradd [ユーザー名]

ユーザーパスワードの設定
$ passwd [ユーザー名]

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

$gpasswd -a [ユーザー名] wheel

作成した[ユーザー名]でログインできるか確認
$ su [ユーザー名]

SSHログインを許可

一般ユーザーのsshd_configファイルを編集する

$ sudo vi /etc/ssh/sshd_config

以下の部分のコメントを外す

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile      .ssh/authorized_keys

.sshフォルダを作成

$ cd ~/
$ mkdir .ssh
$ chmod 700 .ssh

ここまできたらrebootをする

$ systemctl reboot -i

ローカルのMacにあるid_rsa.pubをアップロードする

自分のMacにてターミナルで .sshフォルダに移動

$ cd ~/.ssh

id_rsa.pubをコピーしてauthorized_keysにする

$ cp id_rsa.pub authorized_keys

SCPコマンドを使ってサーバーにauthorized_keysをアップロードする
(一般ユーザーはまだSSHログインできないので、rootでおこなう)

scp authorized_keys root@[IPアドレス]:/home/[ユーザー名]/.ssh

ポートが22から他に変更されている場合は -P(大文字)を使う

scp -P ポート番号 authorized_keys root@[IPアドレス]:/home/[ユーザー名]/.ssh

これでアップロード完了。

サーバーにアップロードしたauthorized_keys

サーバーにSSHログイン
$ ssh root@[IPアドレス]

一般ユーザーの.sshフォルダに移動
$ cd /home/[ユーザー名]/.ssh

フォルダ内のファイルを確認。(先程SCPでアップロードしたauthorized_keysがあるはず)
$ ls -al

conoha

先程はscpをrootで上げたので、ファイルの所有者がrootになっている。
これを、[ユーザー名]に変更する

$ chown [ユーザー名]:[ユーザー名] authorized_keys

これで準備OK

サーバーからログオフする

$ exit

一般ユーザーでsshログインできるか確認

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

無事にログインできたらOK

VPSの安全性を高める

sshd_configを編集
$ sudo vi /etc/ssh/sshd_config

Rootからのログイン禁止
パスワードによるログインを禁止
ポート番号を変更

PermitRootLogin no

PasswordAuthentication no

Port 10022

sshdを再起動

$ sudo systemctl restart sshd.service

SSHのポートの変更(firewalld)

$ sudo vi /etc/firewalld/zones/public.xml

<port protocol="tcp" port="10022"/> # ココを追加
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <service name="ssh"/>
  <service name="dhcpv6-client"/>
  <service name="http"/>
  <port protocol="tcp" port="10022">
</zone>

firewalldを再起動

$ sudo systemctl restart firewalld.service

ポートが変更になったことを確認

ポートを指定しないでssh接続しようとすると
$ ssh [ユーザー名]@[IPアドレス]

ssh: connect to host 150.95.178.64 port 22: Connection refused

先程変更したポートでログインする

$ ssh [ユーザー名]@[IPアドレス] -p 10022

これで無事にログインされる。