さるへい備忘録

さるへいのやったことを綴っているブログです。基本的にテクノロジーの話題です。

AWSのEC2インスタンスをたてたときにいつもやってること(1) ~ sshの設定まで

AWSのEC2インスタンスを立てた時にしている作業を備忘録的な感じで書いていきます

大前提

  • CentOS7
  • AWS EC2

今回やったこと

これ以上は(2)で書いていきます

最初に、全てのyum関係のソフトウェアをアップデート。open-ssl脆弱性とかをできるだけ潰します。

$ sudo yum update

yumリポジトリの追加編

remi, epel, rpmforgeを追加します

まず、rpm repositoryを取得するためにwgetyum install

$ sudo yum install -y wget curl

epel

$ wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ sudo rpm -Uvh epel-release-latest-7.noarch.rpm

remi

$ wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
$ rpm -Uvh remi-release-7.rpm

rpmforge

$ wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
$ sudo rpm -ivh rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

yum install時にデフォで適用にならないようにする

$ vi /etc/yum.repos.d/epel.repo 
$ vi /etc/yum.repos.d/remi.repo 
$ vi /etc/yum.repos.d/rpmforge.repo

上記の編集でenabled=1となっていたら、enabled=0に編集する。

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=0 ##ここを0にする
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

今後、追加したyumリポジトリを利用する際は、

$ yum --enablerepo=remi install ~~

みたいにして使う

ユーザー追加編

ここでは、sysuserというユーザーを追加する

$ sudo useradd sysuser #ユーザを追加
$ sudo passwd sysuser #パスワード設定

sysuserにsudo権限を追加する

root権限になれるユーザーを限定する

$ sudo vi /etc/pam.d/su

以下の行のコメントアウトをはずす

# auth required  pam_wheel.so use_uid

root権限になれるユーザーを限定する(2)

sudo vi /etc/login.defs

以下の行を追加する

SU_WHEEL_ONLY yes

sudo可能ユーザーをwheelだけにする

$ sudo visudo

以下の行のコメントアウトを外す

# %wheel ALL=(ALL) ALL

sysuserユーザーをwheelグループに所属させる

$ sudo usermod -G sysuser,wheel sysuser

ログイン, ssh設定編

sysuserになる

$ sudo su - sysuser

ローカルで、公開認証鍵を作成する

$ ssh-keygen
$ scp ./.ssh/id_rsa.pub 作成したサーバ

何かしらの方法で、id_rsa.pubをもってくる。 ここでは、~/id_rsa.pubにもってきた前提ですすめる。

$ mkdir .ssh
$ chmod 700 .ssh/
$ cd .ssh/
$ touch authorized_keys
$ chmod 600 authorized_keys
$ cat ~/id_rsa.pub >> authorized_keys

これで、sshログインが、公開鍵認証でできるようになる。

公開鍵認証でログインできるようになったことを確認したら、 sshでrootログイン、passwordログインをできなくする

$ sudo vim /etc/ssh/sshd_config

以下のように編集する

...
PermitRootLogin no
...
PasswordAuthentication no
...

sshdを再起動

$ sudo service sshd restart