メインコンテンツへスキップ

AWS Lightsail でSSHログインする

概要

AWS Lightsailでは、SSH接続時に毎回秘密鍵 .pem ファイルを指定する必要がありますが、ローカル環境に設定を行うことで、コマンド一発で自動ログインできるようにすることが可能です。


前提条件

  • Lightsailから .pem 形式の秘密鍵をダウンロード済み

  • ローカル端末が macOS または Linux(Ubuntu等)

  • SSH クライアントが使用可能な状態


ステップ 1:秘密鍵の保存とパーミッション設定

以下ではAWS Lightsailからダウンロードした秘密鍵のファイル名をlightsail-key.pem、ホスト名を<ホスト名>、
サーバのグローバルIPアドレスをxxx.xxx.xxx.xxxとしています。読み替えて使用してください。

  1. .pem ファイルをホームディレクトリ配下に保存
    (例:~/.ssh/lightsail-key.pempem)

  2. 秘密鍵ファイルのパーミッションを設定(読み取り専用)
    bash
    chmod 600 ~/.ssh/lightsail-key.pem
    

    ステップ 2:SSH設定ファイルの編集

    1. SSH設定ファイル(~/.ssh/config)を作成または編集

      nano ~/.ssh/config

      nanoの代わりにgeditを使ってもよい

    2. 以下の内容を追記(IPアドレスは自身のLightsailインスタンスの<IPアドレス>は自身のLightsailインスタンスのパブリックIPに置き換える)に置き換える。<HOSTNAME>はサーバつけた名前に置き換える

      Host bookstack
          HostName 203.0.113.123xxx.xxx.xxx.xxx        # ← LightsailのパブリックIP
          User ubuntuユーザー名                   # Amazon Linuxなら ec2-user
          IdentityFile ~/.ssh/lightsail-key.pempemファイル名
      

      ステップ 3:接続確認

      設定完了後、以下のコマンドで簡単にログインできるようになります。

      ssh bookstack <ホスト名>

      セキュリティ補足
      ・pem ファイルや ~/.ssh/config は第三者に漏れないよう注意してください。
      ・pem ファイルのパーミッションは 600 にする必要があります。そうでないと SSH: Unprotected private key file というエラーになります。
      ・公共PCや共有アカウント環境ではこの設定は避けてください。

      •