質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

ログイン

ログインは、ユーザーがコンピューターシステムにアクセスするプロセスの事を呼びます。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

Q&A

1回答

1720閲覧

AWSのECインスタンスへSSH接続ができない。

fuukunn9444

総合スコア0

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

ログイン

ログインは、ユーザーがコンピューターシステムにアクセスするプロセスの事を呼びます。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

0グッド

0クリップ

投稿2021/12/26 00:57

編集2021/12/27 00:35

macのターミナルから各種設定を行い、sshログインが出来ない。

参考書の『AWSではじめるLinux入門ガイド』よりmacのターミナルからsshログイン方法の元作成しました。

発生している問題・エラーメッセージ

下記のコマンドを入力しましたが、timed outになリます。
EC2インスタンスのパブリックIP、キーペア名も誤字は無し。

% cd ~ % mkdir ~/.ssh   mkdir: /Users/ff/.ssh: File exists % mv Downloads/キーペア名 .ssh/   % cd .ssh/   % ls   キーペア名  % chmod 600 キーペア名  % ssh -i キーペア名 ec2-user@18.183.92.40 ssh: connect to host 18.183.92.40 port 22: Operation timed out

その後pingを飛ばす。

% ping 18.183.92.40 PING 18.183.92.40 (18.183.92.40): 56 data bytes Request timeout for icmp_seq 0 Request timeout for icmp_seq 1 Request timeout for icmp_seq 2 Request timeout for icmp_seq 3

試したこと。

上記のコマンドでターミナルからping 18.183.92.40を通信確認するも通らず。timed outになってしまう。

確認したこと

EC2>セキュリティグループ>インスタンスの作成した仮想サーバ(linx)>インバウンドは、ssh,マイIPでした。
サーバ経由のファイアーウォールに問題ないかなと…+アウトバウンドは、全てのトラフィック、カスタム、0.0.0.0/0
インスタンスのステータスチェックよりシステムとインスタンスの接続性は正常でした。

NACLは
100|すべての トラフィック|すべて|すべて|0.0.0.0/0|許可
*|すべての トラフィック|すべて|すべて|0.0.0.0/0|拒否

補足情報(FW/ツールのバージョンなど)

AWS初めての試みで、解消方法をどうか何卒ご教授お願いいたします。
またNW系の設定・確認する所ありましたら、付属してお教えてください????‍♂️

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mike2mike4

2021/12/27 00:37

セキュリティグループでICMP許可しないとPingが通らないのは当たり前です。
fuukunn9444

2021/12/27 00:47

勉強不足でした、Pingは通っていました。ありがとうございます。
guest

回答1

0

sshがタイムアウトになっているということは、パケットが通っていないように見えます。
そうだとすると、sshの鍵とかに問題があるというよりは、ネットワークの問題の可能性が高いように見えます。

セキュリティグループは許可設定がしてあり、EC2インスタンスにpublic IPも割り当てできている様子ですから、
あと疑いたいのはインターネットゲートウェイ周りです。

  • インターネットゲートウェイを作成できているか
  • EC2インスタンスがあるVPCにインターネットゲートウェイをアタッチできているか
  • ルートテーブルでパケットがインターネットゲートウェイにも流れるように設定されているか

AWSのドキュメントでいうなら、この辺りの話です。

インターネットゲートウェイを作成して VPC にアタッチします。
インターネットバウンドトラフィックをインターネットゲートウェイに転送するルートを、サブネットのルートテーブルに追加します。
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/VPC_Internet_Gateway.html#vpc-igw-internet-access

参考書がどんな内容の本かはちょっと存じ上げないのですが、上記の話も載っているんじゃないかなと思います。見直されてはどうでしょうか。

2021/12/27: コメントを踏まえて追記

うーんなるほど、そうだとすると、VPCやインターネットゲートウェイ周りは問題ないのかもしれません。あてが外れてごめんなさい。
(おそらく)似たような構成を手元のAWSアカウントで追試してみて、sshできる所まで行けたので、何か設定を見逃しているんじゃないかという気はしますが……。

インバウンドは、ssh,マイIP

マイIP を使ったなら問題はないと思いますが、設定当時と現在でIPアドレスが変化していたりしないでしょうか?
一時的にせよソースを 0.0.0.0/0 にした上で、そこが問題か切り分けられないでしょうか。

あとですが、EC2コンソールからEC2 Instance Connectを使って接続を試してみることで、問題の切り分けに役立つかもしれません。ただし、対応しているLinuxディストリビューションを選ぶ(Amazon Linux 2 であれば問題ない)のと、特定のIPアドレス帯がセキュリティグループのインバウンドルールのソースで許可されている必要はあります(前述のように許可するソースを 0.0.0.0/0 にしていれば大丈夫です)。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-instance-connect-methods.html

上記のコマンドでターミナルからping 18.183.92.40を通信確認するも通らず。timed outになってしまう。

ちなみにですが、pingは切り分けにはならないと思います。いま通そうとしているのはSSH(TCP)なので、ICMPを許可していなければインスタンスまでのpingは通らないからです。セキュリティグループでインバウンドルールにICMPの許可を入れれば本来通るはずではあります。

2021/12/31: コメントを踏まえて追記

一時的にソースを 0.0.0.0/0 ssh にしましたら、リモート接続できました。

そこを書き換えてssh成功するということは、そこに問題があったということになると思います。
起きていたこととしては、インバウンドルールのソースIP設定が正しくなかったので、パケットが通っていなかった、ということのはずです。

マイIP による接続元グローバルIPアドレスの検出が正しくなかったとすれば話が合いますが、正直言ってマイIPは使ったことがないので、そんなことが起きうるのか私には経験がありません……。
(適当に検索しましたが、確かに類似した事象を訴える人がいないわけではないようです)

もうssh接続はできたとのことで、だいたい成功という気もしますが、0.0.0.0/0は避けたいということであれば

  • https://www.cman.jp/network/support/go_access.cgi などのIPアドレス確認サイトで、自分の環境で利用しているグローバルIPアドレスを確認し、マイIPの値と照らし合わせてみる。
  • 別のやり方としては、sshに成功した状態で、そのEC2インスタンス内から何らかの方法(たとえばwコマンド?)で接続元IPアドレスを調べられると思います。

など、とりあえず自身のグローバルIPアドレスが期待通りか確かめる所からでしょうか。インターネット接続環境は人によって色々な状況があり得ると思うので、一般論がなかなか難しいとは思います(回答も的確なものが難しいです)。

投稿2021/12/26 07:17

編集2021/12/31 02:53
saka1

総合スコア28

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fuukunn9444

2021/12/26 23:43 編集

1インターネットゲートウェイを作成できているか 2EC2インスタンスがあるVPCにインターネットゲートウェイをアタッチできているか 3ルートテーブルでパケットがインターネットゲートウェイにも流れるように設定されているか 上記3つ確認しましたが 1作成されてます。 2アタッチなっています→インタネットゲートウェイ、Atached、vpc ID3つ合っていました。 3ルートテーブルも設定されています→vpc ID、送信先0.0.0.0/0、インターネットゲートウェイ3つ合っていました。 一応EC2のセキュリティグループからインバウンドしか見ていなかったので、アウトバウンドも確認しましたが、全てのトラフィック、カスタム、0.0.0.0/0で許可されてました。 NACLは 100|すべての トラフィック|すべて|すべて|0.0.0.0/0|許可 *|すべての トラフィック|すべて|すべて|0.0.0.0/0|拒否
fuukunn9444

2021/12/30 00:44 編集

返信遅れました???? 一時的にソースを 0.0.0.0/0 ssh にしましたら、リモート接続できました。 マイIPの設定は、現在と変化はしておりませんでした。 EC2 Instance Connectでソースを0.0.0.0/0 ssh にした場合は、繋がりました。 ソースを外した場合は、エラーになります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問