LoginSignup
1

More than 5 years have passed since last update.

EC2でインスタンスを立ててからsshするまでのメモ

Last updated at Posted at 2016-08-21

前提

  • EC2でインスタンスを立てて.pemをダウンロードした(foo.pemとする)
  • Elastic IPを割り当てた(12.345.678.910とする)

ローカルPCでssh用の鍵を作成して、公開鍵をec2-userのホームにコピー

$ ssh-keygen -f ~/.ssh/id_rsa_hoge
$ scp -i foo.pem ~/.ssh/id_rsa_hoge.pub ec2-user@12.345.678.910:~/
id_rsa_hoge.pub

EC2にSSH接続して公開鍵がコピーされているか確認

$ ssh -i foo.pem ec2-user@12.345.678.910
Last login: Sun Aug 14 08:47:20 2016 from kd175130114177.ppp-bb.dion.ne.jp

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2016.03-release-notes/
15 package(s) needed for security, out of 20 available
Run "sudo yum update" to apply all updates.
[ec2-user@ ~]$ ls
id_rsa_hoge.pub

ユーザーを作成して公開鍵を登録

rootユーザーになり、ユーザーを作成、権限を与える

[ec2-user@ ~]$ sudo su -
[root@ ~]# adduser hoge
[root@ ~]# echo "hoge ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/hoge
[root@ ~]# chmod 440 /etc/sudoers.d/hoge

コピーした鍵を作成したユーザーの.ssh/以下に置く

[root@ ~]# su - hoge
[hoge@ ~]$ mkdir .ssh
[hoge@ ~]$ sudo mv /home/ec2-user/id_rsa_hoge.pub .ssh/authorized_keys
[hoge@ ~]$ sudo chown hoge .ssh/authorized_keys
[hoge@ ~]$ sudo chmod 600 .ssh/authorized_keys
[hoge@ ~]$ sudo chmod 700 .ssh/

SSHでログイン

ローカルPCの~/.ssh/configに以下を追加

Host AAA
  User hoge
  HostName 12.345.678.910
  IdentityFile ~/.ssh/id_rsa_hoge
  IdentitiesOnly yes

これでSSHでログインできる

ssh AAA
Last login: Sun Aug 14 08:47:20 2016 from kd175130114177.ppp-bb.dion.ne.jp

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2016.03-release-notes/
15 package(s) needed for security, out of 20 available
Run "sudo yum update" to apply all updates.
[hoge@ ~]$

ちなみに新しく鍵を作らなくてもec2-userのauthorized_keyをコピー、~.pemを秘密鍵として使っても可能ですが、自前で作った方がそれっぽいのでそうしています

新しいユーザーを追加するとき

管理する人が増えたとかで他の人にもサーバーに入ってもらう必要があるとき

ローカルPCで鍵を作ってもらう

$ ssh-keygen -f ~/.ssh/hoge_rsa # 鍵の名前は任意
$ cat ~/.ssh/hoge_rsa.pub

公開鍵の内容をサーバーにアクセスできる人に共有する

ユーザーを作って公開鍵の内容を登録する

[user@~]$ sudo su -
[root@~]# adduser hoge
[root@~]# echo "hoge ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/hoge
[root@~]# chmod 440 /etc/sudoers.d/hoge
[root@~]# mkdir /home/hoge/.ssh
[root@~]# echo "公開鍵の内容" > /home/hoge/.ssh/authorized_keys

ローカルで~/.ssh/configを編集
完了

参考

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
  3. You can use dark theme
What you can do with signing up
1