3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

退職される度に全サーバーのauthorized_keysを編集するのが辛い

Last updated at Posted at 2020-07-16

そう思っていましたが退職した方から解決策を教えていただきました。AWSのEC2の話になります。

今パブリックに公開しているSSHのポートはセキュリティグループで閉じてしまい、秘密鍵だけがあっても入れないようにしてしまいましょう。
その上でセッションマネージャー使うことで、AWSCLIアクセスキーによる認証でSSHできるようになります。
秘密鍵の制御はサーバーの数だけ作業しないといけませんが、AWSのアカウントはコンソールで一元制御かつ簡単に無効化できるので、サーバーが大量にある場合に特に効果を発揮します。

以下デモです。EC2インスタンスを作成します。EC2インスタンスにロールAmazonSSMManagedInstanceCoreAmazonSSMRoleForInstancesQuickSetup がアタッチされることで、セッションマネージャーからアクセスできるようになります。初期状態だとロールがないので、セッションマネージャーの高速セットアップで作成しましょう。

作成後に5〜10分待つとEC2にロールがアタッチできるようになります。

、アタッチ後にさらに5分ほど待つと、セッションマネージャーから選択可能インスタンスとして候補に上がりました。ブラウザから開始するか、コマンドで以下のようにもスタートできます。

$ aws ssm start-session --target i-072i1e2868daf86

Starting session with SessionId: umihico-0d274fa3791c81e3c
sh-4.2$ 

最近のAmazonLinux2は最初からSSMエージェントが入っていますが、入ってない場合は以下でインストールできます。

sudo yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm

awscliコマンドではなく、慣れているsshやscpを使えるようにしたいので、.ssh/configに追記します。

~/.ssh/config
host i-* mi-*
    ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
    User ec2-user

これでsshコマンドも通るようになりました。

$ ssh  -i ~/.ssh/umihico.pem i-072i1e2868daf42

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

https://aws.amazon.com/amazon-linux-2/
9 package(s) needed for security, out of 16 available
Run "sudo yum update" to apply all updates.
[ec2-user@ip-179-41-11-188 ~]$ 

セキュリティ的な議論でAWSアクセスキーにスイッチできない場合はauthorized_keysの編集は避けれませんが、Macであれば直接編集するリスクを取らず、ssh-copy-idコマンドを使えば楽にできそうです。こちらが参考になりました。

参考

3
3
0

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
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?