Pemファイルを使用してEC2に接続する方法を示すFabricレシピを持っている人はいますか?
私はこの方法でそれを書いてみました: PythonFabric実行コマンドは "binascii.Error:Incorrect padding"を返します
しかし、run()
関数を実行すると、エンコードの問題が発生します。
Pemファイルを使用するには、通常、pemをsshエージェントに追加してから、ユーザー名とホストを参照します。
ssh-add ~/.ssh/ec2key.pem
fab -H ubuntu@ec2-Host deploy
または、リンクした例のように、環境情報(キーなし)を指定します。
env.user = 'ubuntu'
env.hosts = [
'ec2-Host'
]
通常どおり実行します。
fab deploy
エンコーディングの問題に対処せずに、EC2のものをssh設定ファイルに入れる可能性があります。
または、グローバルの場合:
そこで、ホスト、IPアドレス、ユーザー、識別ファイルなどを指定できるので、次の簡単な問題です。
ssh myhost
例:
Host myhost
User ubuntu
HostName 174.129.254.215
IdentityFile ~/.ssh/mykey.pem
詳細については:man ssh_config
あなたができるもう一つのことは、env変数にkey_filenameを設定することです: https://stackoverflow.com/a/5327496/1729558