15

ファイアウォールの内側にいるため、ssh 経由で Amazon EC2 インスタンスにアクセスできません。そこで、80 や 443 など、22 以外のポートで ssh を実行することを考えました。

次の「ユーザーデータ」を使用して、Web管理コンソールを介してAmazon EC2インスタンスを起動しようとしました:

#!/bin/bash -ex
perl -pi -e 's/^#?Port 22$/Port 80/' /etc/ssh/sshd_config
service sshd restart || service ssh restart

上記のスクリプトはインスタンスの起動時に実行され、ssh をポート 22 からポート 80 に切り替えるという考えです。 (参照: http://alestic.com/2010/12/ec2-ssh-port-80 )

しかし、ポート 80 では ssh にまだアクセスできません。起動時に「ユーザー データ」スクリプトが実行されていないようです。

コマンドラインからではなく、Web 管理コンソール経由で「のみ」停止インスタンスを開始できます (ファイアウォールの背後にあります)。

何か案は?

4

3 に答える 3

13

Amazon ファイアウォールは、22 以外のすべてのポートをブロックします。まず、ポート 80/443 などを有効にする必要があります。

HOWTO: 「セキュリティ グループ」に移動 -> インスタンス用に選択したグループをクリックし、「インバウンド」タブをクリックします。

そこにポートを追加できます。

編集: たまたま Apache または他の Web サーバーもインストールした場合、ポート 80 が使用され、sshd では使用できません。サーバーにインストールされているオペレーティング システムはわかりませんが、Web サーバーが既に含まれている可能性があります。

編集 2: 最後のコメントによると、最近ではすべてのポートがデフォルトでブロックされているようです。したがって、必要に応じてポート 22 を開く必要があります。8 年前はそうではありませんでしたが、構成が変わりました ;)

于 2012-11-20T14:29:44.557 に答える