builder/amazonebs: Add ssh_* settings
This commit is contained in:
parent
4453fda2e8
commit
dfc332f98c
|
@ -22,6 +22,8 @@ type config struct {
|
||||||
Region string
|
Region string
|
||||||
SourceAmi string `mapstructure:"source_ami"`
|
SourceAmi string `mapstructure:"source_ami"`
|
||||||
InstanceType string `mapstructure:"instance_type"`
|
InstanceType string `mapstructure:"instance_type"`
|
||||||
|
SSHUsername string `mapstructure:"ssh_username"`
|
||||||
|
SSHPort int `mapstructure:"ssh_port"`
|
||||||
|
|
||||||
// Configuration of the resulting AMI
|
// Configuration of the resulting AMI
|
||||||
AMIName string `mapstructure:"ami_name"`
|
AMIName string `mapstructure:"ami_name"`
|
||||||
|
|
|
@ -16,6 +16,7 @@ type stepConnectSSH struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *stepConnectSSH) Run(state map[string]interface{}) StepAction {
|
func (s *stepConnectSSH) Run(state map[string]interface{}) StepAction {
|
||||||
|
config := state["config"].(config)
|
||||||
instance := state["instance"].(*ec2.Instance)
|
instance := state["instance"].(*ec2.Instance)
|
||||||
privateKey := state["privateKey"].(string)
|
privateKey := state["privateKey"].(string)
|
||||||
ui := state["ui"].(packer.Ui)
|
ui := state["ui"].(packer.Ui)
|
||||||
|
@ -31,7 +32,7 @@ func (s *stepConnectSSH) Run(state map[string]interface{}) StepAction {
|
||||||
|
|
||||||
// Build the actual SSH client configuration
|
// Build the actual SSH client configuration
|
||||||
sshConfig := &gossh.ClientConfig{
|
sshConfig := &gossh.ClientConfig{
|
||||||
User: "ubuntu",
|
User: config.SSHUsername,
|
||||||
Auth: []gossh.ClientAuth{
|
Auth: []gossh.ClientAuth{
|
||||||
gossh.ClientAuthKeyring(keyring),
|
gossh.ClientAuthKeyring(keyring),
|
||||||
},
|
},
|
||||||
|
@ -43,9 +44,9 @@ func (s *stepConnectSSH) Run(state map[string]interface{}) StepAction {
|
||||||
time.Sleep(time.Duration(i) * time.Second)
|
time.Sleep(time.Duration(i) * time.Second)
|
||||||
|
|
||||||
log.Printf(
|
log.Printf(
|
||||||
"Opening TCP conn for SSH to %s:22 (attempt %d)",
|
"Opening TCP conn for SSH to %s:%d (attempt %d)",
|
||||||
instance.DNSName, i+1)
|
instance.DNSName, config.SSHPort, i+1)
|
||||||
s.conn, err = net.Dial("tcp", fmt.Sprintf("%s:22", instance.DNSName))
|
s.conn, err = net.Dial("tcp", fmt.Sprintf("%s:%d", instance.DNSName, config.SSHPort))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue