ちょっと話題の記事

【初心者向け】Amazon EC2にSSH接続する【Windows、Macintosh】

2015.10.23

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

森永です。

色んな情報が飛び交っているここDevelopers.IOですが、基礎中の基礎みたいな内容が抜けていたりします。
EC2へSSH接続するというのは、慣れた人からすれば当たり前かもしれませんが、私が初めてAWSを触った時にも躓いたポイントだったりします。

WindowsとMacintoshからの接続方法をご紹介します。
少しでもお役に立てれば幸いです。

共通して必要な情報

WindowsからでもMacからでも必要な情報がありますので、収集しておきましょう。

  • 接続先EC2のグローバルIPアドレス or ホスト名
  • ユーザ名(Amazon Linuxの場合デフォルトはec2-userです)
  • 秘密鍵(デフォルトでは****.pemという形式です)

また、自分のPCのグローバルIPアドレスをセキュリティグループ(ファイアウォールのようなもの)に登録しているかサーバの管理者に確認しておきましょう。
自分のグローバルIPを調べる際には、こちらをご活用下さい。

Windowsの場合

WindowsからSSH接続するには、SSHのクライアントソフトをインストールする必要があります。

有名ドコロでいうと、puttyTera Termなどがあります。
公式でputtyの接続方法は紹介はされていますし、puttyの場合鍵を変換する必要があるので今回はTera Termでの接続方法をご紹介します。

Tera TermからEC2へSSH

日本語化プロジェクト公式サイトへ行き、[ダウンロード]をクリックします。

ssh01

特にこだわりがなければ最新版のexeファイルをダウンロードしましょう。

ssh02

ダウンロードしたexeファイルを実行します。
セットアップに使用する言語を聞かれますので、お好きな言語を選択し[OK]ボタンを押します。

ssh03

[次へ]ボタンを押します。

ssh04

使用許諾契約書が出ますので、一通り目を通して[同意する]にチェックを入れ[OK]ボタンを押します。

ssh05

インストール先フォルダを指定します。
特にこだわりが無ければそのまま[次へ]ボタンを押します。

ssh06

コンポーネントを選択します。
これもこだわりが無ければそのまま[次へ]ボタンを押しましょう。

ssh07

言語の選択をします。
お好きな言語を選び[次へ]ボタンを押します。

ssh08

プログラムグループの指定をします。
こだわりなければ[次へ]ボタンを押します。

ssh09

ショートカットが出来るのが嫌でなければそのまま[次へ]ボタンを押します。

ssh10

さて、準備ができました。
設定内容を確認し、[インストール]ボタンを押します。

ssh11

インストールが完了しました。
今回はすぐに使いたいので[今すぐTera Termを実行する]にチェックを入れて[完了]ボタンを押します。

ssh12

Tera Termを起動すると、接続設定の画面が表示されます。
[ホスト]に、EC2インスタンスのグローバルIPアドレスかDNS名を指定します。
もし、ポート番号を変えている場合は[TCPポート]を変更し、[OK]ボタンを押します。

ssh13

初めて接続するEC2インスタンスの場合は、セキュリティ警告が出ます。
これは指定したホストの裏側のサーバが、本当に正しいものなのか判別するためのものです。
例えば、12.34.56.78にアクセスした場合、サーバAにアクセスするはずが、悪意のある変更でサーバBにアクセスするように設定されていた場合接続できないようにするというものです。

AWSの場合EIPというものをEC2インスタンスに付け替えられるので、同じIPなのに後ろのサーバが違うということが結構あります。
EIPを使い回す事が考えられるのであれば、[このホストをknown hostsリストに追加する]のチェックを外しておきましょう。

ssh14

うまくサーバに接続できるとユーザ認証画面へ遷移します。
こちらに接続できない場合は、セキュリティグループの設定がおかしい可能性がありますので、サーバ管理者へ連絡して下さい。

[ユーザ名]に、アクセスするユーザ名、[パスフレーズ]はデフォルトのキーであれば空欄で構いません。
[RSA/DSA/ECDSA/ED25519鍵を使う]にチェックを入れ、[秘密鍵]ボタンを押します。

ssh15

秘密鍵選択ウィンドウが開きますので、秘密鍵を選択します。
この時、.pemという拡張子が表示されないことがありますので、右下のドロップリストから[すべてのファイル(*.*)]を選択します。
そうすると拡張子を問わず表示されるようになります。

ssh16

秘密鍵の選択が終わったら、[OK]ボタンを押すとEC2インスタンスへの接続が完了します。 あとはお好きなように!!

ssh17

Macintoshの場合

こちらは最初からSSH接続が出来るターミナルが用意されていますので、そちらを使うか、別途お好きなターミナルをご使用ください。
今回はデフォルトで用意されているターミナルを使用します。

その前に、秘密鍵を自分のホームディレクトリに置いておいて下さい。
(ログインするときのユーザ名のついたディレクトリです。)

ssh21

次に、command+shift+uを同時に押し、ユーティリティディレクトリを表示します。
その中に[ターミナル.app]というアプリがあるのでダブルクリックして起動します。

ssh20

すると以下のようなターミナルが開きます。
白背景が嫌な方は設定変更してください。。。

ssh19

以下のコマンドをうち、秘密鍵を.sshに配置し、権限の設定をします。
これは、初回接続時だけで構いません。

$ mv 秘密鍵名.pem ~/.ssh/
$ chmod 600 ~/.ssh/秘密鍵名.pem

後は以下のコマンドでSSH接続が出来ます。

$ ssh -i ~/.ssh/秘密鍵名.pem [ユーザ名]@[IPアドレス or DNS名]

最後に

基礎の基礎とは言え、わからない方にどう説明すればいいかを考える機会として、こういう記事大事だなぁと思いました。
もし引っかかった点があれば遠慮なくコメント下さい。

# 詳しい方は歯がゆいところもあるかと思いますが、分かりやすさ重視にしてます。ご了承下さい。

書くと自分の知識の整理にもなるので、できるだけ書いていきます。