LoginSignup
0
0

クライアントからリモートEC2へSSH接続したい

Posted at

目標

  • EC2 に ssh 接続を行う
  • ssh 接続時に「-i」でキーの指定を行うが、これを省略する

まずはキーを指定して ssh 接続

$ ssh -i key-pair-sample.pem ec2-user@xxx.xxx.xxx.xxx

都度、「-i」でキーを指定するのが不便なので改善できないかを考える。

クライアントの秘密鍵・公開鍵で接続

概要

  • クライアントにて自身の公開鍵・秘密鍵を作成
  • クライアントの公開鍵はリモートサーバーに登録する
    • .ssh/authorized_keys に登録する
    • EC2 起動時もキーペアに指定したものが自動的に登録されている
  • 秘密鍵を用いてクライアントから接続される

※EC2ダッシュボードから、対象のEC2インスタンスを選択し、[Actions] > [Instance Settings] > [Edit User Data] を編集することにより同様の操作ができるようなので後日追記する。

手順

  1. クライアント端末作業/自身のローカル Linux の公開鍵・秘密鍵を作成

    $ ssh-keygen -t rsa -b 4096 
    

    ※パスコードを指定できる。指定した場合は、秘密鍵を使用する際(つまり ssh 接続時)に入力が求められる。

  2. クライアント端末作業/公開鍵を EC2 に送る

    $ scp -i key-pair-sample.pem /home/user/.ssh/id_rsa.pub  ec2-user@xxx.xxx.xxx.xxx:~/.
    
  3. リモート端末/受け取った公開鍵を登録

    $ cat ~/id_rsa.pub >> .ssh/authorized_keys
    

    これで

    $ ssh ec2-user@xxx.xxx.xxx.xxx
    

    で接続できる。

別解: .ssh/config を指定して入力を省略する

以下の指定を行うことにより、都度入力を省くことができる。
ただし、実質秘密鍵を各クライアントが持つことになるので注意。

Host my_ec2_instance
    HostName your_ec2_instance_ip
    User ec2-user
    IdentityFile ~/.ssh/your_key.pem
0
0
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
0
0