OpenStackインスタンスでUbuntu 13.04を実行しています。インスタンスを作成するときに、キーペアを指定したので、次のコマンドを使用してボックスにSSHでログインできます。
[laptop]$ ssh -i keypair.pem ubuntu@my-instance
OpenStackがこれを機能させるためにどのような魔法をかけたかはわかりませんが、実際に機能します。ここで、「通常の」公開鍵認証を設定したいと思います。これを機能させて、インスタンスからlocalhostにログインすることもできません。それは常に私のパスワードを求めます!私は試した:
[my-instance]$ cd ~/.ssh
[my-instance]$ ssh-keygen -t rsa
[my-instance]$ echo id_rsa.pub >> authorized_keys
[my-instance]$ ssh localhost
Password: _
私はいつも「通常の」サーバーでこれを行っています。私は秘密鍵とauthorized_keysファイルの許可をチェックし、またDSAとECDSAキーを試しました。 ssh -vの出力はあまりわかりません(以下を参照)。誰かが私の状況に光を当てることができますか?
...
debug1: Found key in /home/ubuntu/.ssh/known_hosts:1
debug1: ssh_ecdsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /home/ubuntu/.ssh/id_rsa (0x7f86d8041ec0)
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/ubuntu/.ssh/id_rsa
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,keyboard-interactive
debug2: we did not send a packet, disable method
debug1: Next authentication method: keyboard-interactive
...
この行は疑わしく見えます:
echo id_rsa.pub >> authorized_keys
あなたは次のようなものを意味するかもしれません:
cat id_rsa.pub >> authorized_keys
authorized_keys
を編集して、id_rsa.pub
と表示されている行を削除することもできます