web-dev-qa-db-ja.com

ec2マシンにログインする方法は?

EC2マシンのログイン情報、基本的にはec2-X-X-X.compute-X.amazonaws.comとユーザー名とパスワードを入力しました。

マシンにアクセスするにはどうすればよいですか?私は切り分けてみました:

ssh [email protected]

しかし、私はPermission denied, please try again.パスワードを入力したとき。 EC2マシンにアクセスする正しい方法はありますか? (私が見つけたGoogleヒットは、マシンにsshできることを示唆しましたが、キーペアも使用していました。)または、無効なログイン資格情報が与えられたことが問題である可能性が高いですか

39
grautur

AWSを初めて使用し、sshを介して新しいEC2インスタンスにアクセスする必要がある場合は、alsoポート22で着信トラフィックを許可する必要があることに注意してください。

EC2インスタンスがすべてのデフォルトのウィザード提案を受け入れて作成されたと仮定すると、マシンへのアクセスはdefaultセキュリティグループによって保護され、基本的にすべてのインバウンドトラフィックが禁止されます。したがって:

  1. AWSコンソールに移動します
  2. 左側のナビゲーションペインでSecurity Groupsを選択します
  3. メインペインからdefaultを選択します(リスト内の唯一のアイテムである場合があります)
  4. 下のペインで、Inboundを選択し、次にCreate a new ruleを選択します:SSH
  5. Add ruleをクリックしてからApply Rule Changesをクリックします

次に、あなたが秘密鍵を所有していると仮定して、次のことを行います。

$ chmod 600 path/to/mykey.pem
$ ssh -i path/to/mykey.pem [email protected]

私のEC2インスタンスはUbuntu 32ビット12.04イメージから作成されました。この構成ではルートへのsshアクセスが許可されておらず、代わりにubuntuとしてログインするように求められます。

$ ssh -i path/to/mykey.pem [email protected]

乾杯、ジュゼッペ

41
Giuseppe

Amazon AMIは、「rootユーザーではなくec2-userユーザーとしてログインしてください」と言っているため、各イメージには異なるログインユーザーが含まれているようです。

ssh -i ~/.ssh/mykey.pem [email protected]

要するに、rootを試すと、どのユーザーとしてログインする必要があるかがわかります。

[編集]アカウントのAWS管理コンソール認証情報をお持ちでないと思いますが、お持ちの場合は、AWSマネジメントコンソールの[EC2->インスタンス]パネルに移動し、マシン名を右クリックして選択します「接続...」ログインに使用できるオプションのリストが表示されます。 sshを介してインスタンスにアクセスするには、キーが必要です(または必要です)。あなたはこれを与えられるべきでした、さもなければそれは生成される必要があるかもしれません。

Windowsインスタンスの場合、リモートデスクトップ接続を使用してIPまたはホスト名を使用して接続する必要がある場合があります。その後、Windowsアカウントのログインとパスワードも必要になります。

7
Shannon WM

SSHを介してAWS EC2 Linuxインスタンスに接続するプロセスは、 このビデオ でステップバイステップ(下記のポイントを含む)で説明されています。

EC2インスタンスへのSSH-ingに関するこの特定の問題を修正するには:

  1. 実行したsshコマンドは正しい形式ではありません。そのはず:

    ssh -i /path/my-key-pair.pem [email protected]
    
  2. 上記のコマンドで使用するには、秘密キー(.pem)ファイルにアクセスする必要があることに注意してください。インスタンスを最初に起動すると、AWSからこのファイルをダウンロードするように求められます。次のコマンドを実行して、rootユーザーのみが読み取りアクセス権を持つようにする必要があります。

    chmod 400 /path/to/yourKeyFile.pem
    
  3. Linuxディストリビューションに応じて、sshの実行時に指定する必要があるユーザーは次のいずれかです。

    • Amazon Linuxの場合、ユーザー名はec2-userです。
    • RHELの場合、ユーザー名はec2-userまたはrootです。
    • Ubuntuの場合、ユーザー名はubuntuまたはrootです。
    • Centosの場合、ユーザー名はcentosです。
    • Fedoraの場合、ユーザー名はec2-userです。
    • SUSEの場合、ユーザー名はec2-userまたはrootです。
    • そうでない場合、ec2-userとrootが機能しない場合は、AMIプロバイダーに確認してください。
  4. インバウンドSSHファイアウォールを有効にする必要があります。これは、AWSの[セキュリティグループ]セクションで実行できます。この作品の詳細は こちら をご覧ください。

1

実際、EC2(Amazon Elastic Compute Cloud)は、デフォルトではインスタンス(Linuxマシン)に対するパスワード認証を許可していません。

許可される唯一の認証方法は、インスタンスの作成時に作成されるSSHキーを使用する方法です。作成中にSSHキーをダウンロードできるのは一度だけなので、失った場合は再生成する必要があります。

このSSHキーはプライマリユーザー専用です-通常は名前が付けられています

  • ec2-user "(Amazon Linux、Red Hat Linux、SUSE Linux)
  • "root"(Red Hat Linux、SUSE Linux)
  • "ubuntu"(Ubuntu Linuxディストリビューション)
  • "Fedora"(Fedora Linuxディストリビューション)

または類似(ディストリビューションに応じて)

接続手順を参照してください: https://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html

新しいユーザーを追加する場合、新しいユーザーの新しいSSHキーを生成して追加することをお勧めしますが、パスワードを指定しないでください(パスワード認証はデフォルトでは有効になっていないため、とにかく役に立たないでしょう)。

追加ユーザーの管理: http://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/managing-users.html

結局のところ、パスワード認証を有効にしたい場合、これはセキュリティを低下させ、推奨されませんが、それでもあなた自身の特定の理由でそれをする必要があるかもしれません。

/etc/ssh/sshd_config

例:Sudo vim/etc/ssh/sshd_config

次の行を見つけます。

PasswordAuthentication no

に変更します

PasswordAuthentication yes

その後、インスタンスを再起動します

Sudo restart 

再起動後、パスワード認証で追加のユーザーを自由に作成できます。

Sudo useradd newuser
Sudo passwd newuser

新しいユーザーをsudoersリストに追加します。

Sudo usermod -a -G Sudo newuser

ユーザーのホームフォルダーが存在し、ユーザーによって所有されていることを確認してください

Sudo mkdir /home/newuser
Sudo chown newuser:newuser /home/newuser

新規ssh経由でnewuserを使用してログインする準備ができました。 sshキーを使用した認証は、パスワード認証と並行して引き続き機能します。

0

このためには、keyname.pemのような秘密鍵が必要です。

Ctrl + alt + tを使用してターミナルを開きます。

コマンドchmod 400 keyname.pemまたはchmod 600 keyname.pemを使用して、ファイル許可を400または600として変更します。

セキュリティグループのポート22を開きます。

端末ssh -i keyname.pem [email protected]でコマンドを実行します

0
Deepak Sharma