1

ラックスペースでクラウドサーバー(redhat を実行)への公開鍵と秘密鍵のメカニズムを使用して、パスワードなしの ssh 接続を試みています。

私のコマンドは(サーバー内で):

  1. adduser -g ルート
  2. mkdir /home//.ssh
  3. 公開鍵を /home//.ssh/authorized_keys にコピーします
  4. chmod 700 /ホーム//.ssh
  5. chmod 600 /home//.ssh/authorized_keys

ラックスペース クラウド内のサーバーの構成ファイル:

  1. RSA 認証はい
  2. 公開鍵認証はい
  3. #AuthorizedKeysFile .ssh/authorized_keys

「ssh -i my_priv_key @server_ip」を実行しようとすると失敗し、@server_ip のパスワードを要求されます。

サーバーの sshd_config に次の行を追加すると、Permission denied (publickey,gssapi-keyex,gssapi-with-mic) と表示されます。

Match User PasswordAuthentication no

私は過去数時間試してきましたが、それを理解することができません. したがって、この問題を解決する方法はありますか。

4

3 に答える 3

1

これはあなたの質問に完全に答えるものではありませんが、Rackspace API を使用した自動化で、SSH キーをサーバーに配置する別の方法を紹介したいと思います。たとえば、pyraxを使用している場合:

import pyrax
import os

pyrax.set_setting("identity_type", "rackspace")
pyrax.set_setting("username", USER_NAME) # User name
pyrax.set_setting("api_key", API_KEY) # Located in the control panel in settings

# Could also use a credential file
# pyrax.set_credential_file(os.path.expanduser("~/.rackspace_cloud_credentials"))

# Put your SSH key on the Rackspace cloud
pubkey = open("my_priv_key").read()
cs.keypairs.create("testkey", pubkey)

# For demo purposes, grab a sample image, server type (flavor in OpenStack parlance)
flavor_512 = [flavor for flavor in cs.flavors.list() if flavor.ram == 512][0]
ubu_image = [img for img in cs.images.list() if "Ubuntu 12.04" in img.name][0]

# Now we can create the server and assign an ssh key
server = cs.servers.create("ubbie", ubu_image.id, flavor_512.id,
        key_name="testkey")

API キーは、セキュリティの質問の下にあるクラウド コントロール パネル内の [設定と連絡先] にあります。

API キー

サーバーが構築されると、IPアドレスを取得できるはずです

server = cs.servers.get(server.id)
ip = server.accessIPv4

次に、指定したキーを使用して root として単純に ssh します。

ssh -i my_priv_key root@<ip>

Python が優先言語でない場合は、他のオプションがあります。これはRackspace APIOpenStack/novaの一部であるため、必要に応じて直接リクエストを作成したり、curl を使用したりすることもできます。

于 2013-08-29T15:37:19.253 に答える
0

サーバーの権限と時間の設定を確認しましたか。また、投稿からユーザー名を意図的に削除しましたか。

-v オプションを付けて ssh を実行してみてください。これにより、デバッグ用の出力が増えます。

于 2013-08-28T10:25:14.607 に答える
0

リモート サーバーで SSH キーをセットアップする最も簡単な方法は、ssh-copy-id コマンドを使用することです。

http://linux.die.net/man/1/ssh-copy-id

于 2013-08-28T19:56:59.033 に答える