search
LoginSignup
68

More than 3 years have passed since last update.

posted at

AWS EC2に作業用ユーザを追加

やりたいこと

AWSのEC2インスタンスを作るとデフォルトでec2-userのみが作られるが、
複数人で同じpem使い回すのも嫌なんで各々に作業用ユーザを作りたい。

$ sudoの際いちいちパスワード入力しないようにしたい。

この記事では例としてhogeユーザを追加し、hoge.pemを使ってssh接続できるようにします

ec2に接続

既に、ec2にssh接続した状態として、ユーザ追加やらいろいろやるためrootに切り替えておきます

[ec2-user@xx.xxx.xxx.xxx ~]$ # ec2-userで接続した状態
[ec2-user@xx.xxx.xxx.xxx ~]$ sudo su # root ユーザに切り替え
[root@xx.xxx.xxx.xxx ec2-user]$

ユーザを追加

[root@xx.xxx.xxx.xxx ec2-user]$ useradd hoge # ユーザ追加
[root@xx.xxx.xxx.xxx ec2-user]$ usermod -G wheel hoge # sudoを使えるグループに所属させる

visudoを編集

wheelグループのユーザがsudoコマンドを入力する際のパスワード入力を省略します

visudoと入力すると編集モードが起動します

[root@xx.xxx.xxx.xxx ec2-user]$ visudo

## Sudoers allows particular users to run various commands as
## the root user, without needing the root password.
##
## Examples are provided at the bottom of the file for collections
## of related commands, which can then be delegated out to particular
## users or groups.
##
## This file must be edited with the 'visudo' command.

~~~ 省略 ~~~

/で検索モードにし、wheelを探します

## Allows people in group wheel to run all commands
# %wheel        ALL=(ALL)       ALL

## Same thing without a password
# %wheel  ALL=(ALL)       NOPASSWD: ALL

## Allows members of the users group to mount and unmount the
## cdrom as root
# %users  ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom

## Allows members of the users group to shutdown this system
# %users  localhost=/sbin/shutdown -h now

/wheel

# %wheel ALL=(ALL) NOPASSWD: ALLのコメントアウトを外し、escからのwq!で上書き保存します

## Allows people in group wheel to run all commands
# %wheel        ALL=(ALL)       ALL

## Same thing without a password
%wheel  ALL=(ALL)       NOPASSWD: ALL

:wq!

追加ユーザ用キーペアを作成

hogeユーザに切り替えてssh-keygenでキーペアを作ります

[root@xx.xxx.xxx.xxx ec2-user]$ su - hoge
[hoge@xx.xxx.xxx.xxx ~]$ ssh-keygen -t rsa

キーペア作成時パスフレーズの入力を求められますが何も入力せずエンターを押します

確認

うまく鍵ファイルができてるか見てみます
pubついてるのが公開鍵、ついてないのが秘密鍵です

[hoge@xx.xxx.xxx.xxx ~]$ cd ~/.ssh
[hoge@xx.xxx.xxx.xxx .ssh]$ ls
id_rsa  id_rsa.pub

公開鍵の設定

作成した公開鍵をauthorized_keysに設定し、秘密鍵で認証できるようにします

[hoge@xx.xxx.xxx.xxx .ssh]$ cat id_rsa.pub >> authorized_keys
[hoge@xx.xxx.xxx.xxx .ssh]$ chmod 600 authorized_keys

秘密鍵をローカルにダウンロード

id_rsaファイルをhoge.pemとしてローカルに落とします
ファイル名をhoge.pemに変えてダウンロードでもダウンロードしてからhoge.pemに変えるでもOK
SFTPとかでec2-userで落とそうとするとパーミッションで怒られるのでec2-userのホームに移動するなりしてからダウンロードしてください

ローカルにダウンロードした秘密鍵を使ってSSH接続

以下ローカルからの操作

$ chmod 400 {ダウンロードした秘密鍵のディレクトリ}/hoge.pem # パーミッションの設定
$ ssh -i {hoge.pemのパス} hoge@xx.xxx.xxx.xxx

うまく行ってればこれでhogeユーザとしてSSH接続できるはず

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
What you can do with signing up
68