明示的にpemキーを使用せずにEC2にSSHする方法は?


21

メインOSとしてウィンドウがあります。VMwareプレーヤーを使用して、Ubuntuサーバー12.4をゲストマシンとしてセットアップしました。Ubuntuサーバーには「ubuntu」ユーザーがいます。

新しいEC2インスタンスとセットアップpemキーを作成しました。Windowsマシンから、putty + pemキーを使用すると、sshを実行できます。

VMware Ubuntuサーバー(/home/ubuntu/.ssh/)にpemキーを追加しました。さらに、次のアクセス許可を設定しました。 chmod 700 /home/ubuntu/.ssh chmod 600 /home/ubuntu/.ssh/*

Ubuntuサーバーを介して-成功せずにec2インスタンスへのSSHを試みました ssh ubuntu@EC2_IP Permission denied (publickey) 。私が明示的にpemキーを使用する場合、それは機能します: ssh -i /home/ubuntu/.ssh/NAME.pem ubuntu@EC2_IP -キーへの直接パスを使用する必要があることに注意してください、そうでなければ、私は得るでしょう Warning: Identity file NAME.pem not accessible: No such file or directory. Permission denied (publickey).

お知らせ下さい。ありがとう!

回答:


18

デフォルトでは、SSHクライアントは、指定されたキーを探しますid_rsaid_dsaid_ecdsaの中で~/.ssh/。キーにそのような名前が付けられていない場合は、コマンドラインで-iこれまでと同じように指定するか、クライアント構成で指定する必要があります。

次のようなものを追加して~/.ssh/config、EC2にSSH接続するときにこのキーを自動的に選択できます。

Host *.compute-1.amazonaws.com
    IdentityFile ~/.ssh/ec2_rsa


2

秘密鍵にどのように名前を付けますか?デフォルトのid_rsaファイル名が必要です(pemファイルの名前を/home/ubuntu/.ssh/id_rsaに変更します)。


eldad.pem(AWSのデフォルト名)と呼ばれます。id_rsaに名前を変更しました。現在の名前のままにして、それを使用する方法はありますか?
-user798562

うん、ダニエルは彼の答えですでにそれについて書いた:)
アンドレイ・ミハルツォフ

1

ssh-agentおよびssh-addを使用して、秘密鍵を明示的に指定する必要がなくなります。

あなたは、あなたのコマンドを置くことができる.profileか、.bashrc彼らはあなたがログインするたびに実行されますので。あなたはの下部にある例スタートアップスクリプトを見つけることができ、このポスト


私はそれをしましたが、再起動するとき-私はそれをもう一度やり直す必要があります。それを避ける方法はありますか?
user798562

それを含むように私の答えを編集しました。
デビッドレベスク

0

sshクライアントはidentify file、で設定された構成に基づいて検索します/etc/ssh/ssh_config。したがって、そこでIDファイルを指定できます。また、sshクライアントの構成ファイルに複数のIDファイルをリストできることを忘れないでください。ssh manページから-

    -i identity_file
         Selects a file from which the identity (private key) for public key authentication is read.  The default is ~/.ssh/identity
         for protocol version 1, and ~/.ssh/id_dsa, ~/.ssh/id_ecdsa and ~/.ssh/id_rsa for protocol version 2.  Identity files may also
         be specified on a per-host basis in the configuration file.  It is possible to have multiple -i options (and multiple identiâ
         ties specified in configuration files).

たとえば、RSAキーの場合、デフォルトの場所は〜/ .ssh / id_rsaです。Andrei Mikhaltsovが示唆したように、秘密鍵を/ home / ubuntu / ssh / id_rsaに配置すると、コマンドラインで指定せずに接続できます。そのファイル名が既に存在し、別の秘密鍵を保持している場合、IdentityFileパラメーターでsshクライアント構成ファイルをカスタマイズできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.