builder/amazonebs: Add ssh_* settings

This commit is contained in:
Mitchell Hashimoto 2013-05-21 11:36:26 -07:00
parent 4453fda2e8
commit dfc332f98c
2 changed files with 7 additions and 4 deletions

View File

@ -22,6 +22,8 @@ type config struct {
Region string
SourceAmi string `mapstructure:"source_ami"`
InstanceType string `mapstructure:"instance_type"`
SSHUsername string `mapstructure:"ssh_username"`
SSHPort int `mapstructure:"ssh_port"`
// Configuration of the resulting AMI
AMIName string `mapstructure:"ami_name"`

View File

@ -16,6 +16,7 @@ type stepConnectSSH struct {
}
func (s *stepConnectSSH) Run(state map[string]interface{}) StepAction {
config := state["config"].(config)
instance := state["instance"].(*ec2.Instance)
privateKey := state["privateKey"].(string)
ui := state["ui"].(packer.Ui)
@ -31,7 +32,7 @@ func (s *stepConnectSSH) Run(state map[string]interface{}) StepAction {
// Build the actual SSH client configuration
sshConfig := &gossh.ClientConfig{
User: "ubuntu",
User: config.SSHUsername,
Auth: []gossh.ClientAuth{
gossh.ClientAuthKeyring(keyring),
},
@ -43,9 +44,9 @@ func (s *stepConnectSSH) Run(state map[string]interface{}) StepAction {
time.Sleep(time.Duration(i) * time.Second)
log.Printf(
"Opening TCP conn for SSH to %s:22 (attempt %d)",
instance.DNSName, i+1)
s.conn, err = net.Dial("tcp", fmt.Sprintf("%s:22", instance.DNSName))
"Opening TCP conn for SSH to %s:%d (attempt %d)",
instance.DNSName, config.SSHPort, i+1)
s.conn, err = net.Dial("tcp", fmt.Sprintf("%s:%d", instance.DNSName, config.SSHPort))
if err != nil {
continue
}