

Amazon EC2の管理に[Elasticfox](https://github.com/cookpad/elasticfox-
ec2tag)を使っています。  
Elasticfox から「Connect to Instance」操作で EC2 インスタンスに SSH ログインできて便利に使っていました。SSH
クライアントは TeraTerm です。

EC2 インスタンスのキーペアを複数使い分け始めたので  
SSH ログインするたびにTeraterm のパラメータを書き換えていますが  
毎回設定を変えるのは面倒なので ${keyname} 変数を使いたいと思っています。

EC2 の「key name」には「mydemo」というキーペア名が設定されており  
「${keyname}」と書いた部分が「mydemo」に置き換わることを期待しました。

しかし 実際には 置き換わらず SSL ログインが失敗します。

設定内容や使い方が間違っているのでしょうか。  
${keyname} を使って自動ログインに成功している人がいたらアドバイスをお願いします。

◆Elasticfox の設定

[code]

    SSH Command: E:\Program Files (x86)\teraterm\ttermpro.exe
    SSH Arguments: /ssh2 /auth=publickey /keyfile=C:/key/${keyname}.pem /user=${user} ${publicDnsName}:22
    
[/code]

* * *

また、次のようなバッチファイルを使って Elasticfox からどのような引数が渡されるか確認した所 ${key} や ${pass}
も文字列に展開されていないことが分かりました。

◆バッチファイル

[code]

    arg.bat
    @echo off
    for %%f in (%*) do (
      echo %%f
    )
    pause
    
[/code]

◆バッチを呼び出すよう Elasticfox の設定を返る

[code]

    SSH Command: c:\tool\arg.bat
    SSH Arguments: home:${home} keyname:${keyname} host:${host} publicDnsName:${publicDnsName} privateDnsName:${privateDnsName} privateIpAddress:${privateIpAddress} ipAddress:${ipAddress} name:${name} key:${key} user:${user} pass:${pass}
    
[/code]

◆実行結果

[code]

    home:C:\Users\take88
    keyname:${keyname}
    host:***.***.***.***
    publicDnsName:ec2-***-***-***-***.************.compute.amazonaws.com
    privateDnsName:ip-***-***-***-***.************.compute.internal
    privateIpAddress:10.1.2.3
    ipAddress:***.***.***.***
    name:demoserver
    key:${key}
    user:ec2-user
    pass:${pass}
    続行するには何かキーを押してください . . .
    
[/code]


CC BY-SA 3.0
2015-04-23T12:08:16.863
9513
2015-04-23T14:44:53.117
2015-04-23T14:44:53.117
5008
5008
question
aws firefox
Elasticfox で EC2 に SSH ログイン する際の ${keyname} が文字列に展開されない