メインOSとしてWindowsを使用しています。 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).
お知らせ下さい。ありがとう!
ssh-add〜/ .ssh/KEY_PAIR_NAME.pem
デフォルトでは、SSHクライアントはid_rsa
でid_dsa
、id_ecdsa
、~/.ssh/
という名前のキーを検索します。キーにそのような名前が付けられていない場合は、コマンドラインで-i
を使用して指定するか、クライアント構成で指定する必要があります。
次のようなものを~/.ssh/config
に追加して、EC2にSSH接続するときにこのキーを自動的に選択できます。
Host *.compute-1.amazonaws.com
IdentityFile ~/.ssh/ec2_rsa
秘密鍵にどのような名前を付けますか?デフォルトのid_rsaファイル名が必要です(pemファイルの名前を/home/ubuntu/.ssh/id_rsaに変更します)
ssh-agent
およびssh-add
を使用すると、秘密鍵を明示的に指定する必要がなくなります。
ログインするたびに実行されるように、コマンドを.profile
または.bashrc
に入れることができます。起動スクリプトの例は この投稿 の下部にあります。
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クライアント構成ファイルをカスタマイズできます。