2016-12-02 5 views
1

私はこのstackoverflowの答え呼ば:鍵ペアをs3に保存するにはどうすればいいですか?

ssh key of newly created ec2 instance using boto

鍵ペアが存在しない場合、それは新しいものを作成し、プライベート鍵ペアを保存します。

しかし、キーペアをs3に保存するか、MacとWindowsユーザーの間で共通の場所に保存したいとします。私は両方のOSのディレクトリ階層が異なることを知っているので、両方のために働く価値をどのようにしてハードコーディングするのですか?

私の現在のコード:

# Check to see if specified keypair already exists. 
# If we get an InvalidKeyPair.NotFound error back from EC2, 
# it means that it doesn't exist and we need to create it. 
try: 
    key = ec2.get_all_key_pairs(keynames=[keypair_name])[0] 
except ec2.ResponseError, e: 
    if e.code == 'InvalidKeyPair.NotFound': 
     print 'Creating keypair: %s' % keypair_name 
     # Create an SSH key to use when logging into instances. 
     key = ec2.create_key_pair(keypair_name) 
     key.save('https://s3.amazonaws.com/' + bucket_name) 
    else: 
     raise 

key.saveラインはboto.ec2.keypair.KeyPairオブジェクトの.save機能は、材料を節約する "https://s3.amazonaws.com/bucket_name\launch.pem"

+0

私は地元のマシンの同じディレクトリにそれを保存しました:P私はs3を試みましたが、それは私が推測する価値がありません。 – user7234091

答えて

1

のようなURLの何か(暗号化されていないPEMは、RSA秘密鍵をエンコードされた)のを作ります新しく作成されたKeyPairをにローカルファイルに設定します。

key.save('https://s3.amazonaws.com/' + bucket_name)を使用する構文が無効です。 Amazon S3はローカルファイルシステムではありません。

S3にファイルを保存するには、まずをローカルコンピュータにダウンロードし、S3 API呼び出しでアップロードします。

EC2キーペアは、初期アクセスとEC2インスタンスで提供されることに言及することは重要です。インスタンスにログインしたら、ユーザーの作成や独自のキーペアの追加、LDAPまたはActive Directoryサーバーへの接続など、インスタンスのセキュリティを実装する必要があります。

関連する問題