Commit Graph

257 Commits

Author SHA1 Message Date
Adrien Delorme 9a9b82715b config.Comm.SSHKeyPair => SSHKeyPairName 2018-08-29 14:40:33 +02:00
Adrien Delorme 77a57f0354 communicator.Config: `mapstructure:"ssh_key_pair"` => ssh_keypair_name 2018-08-29 14:40:33 +02:00
Adrien Delorme 69dfe2565b SSHBastionPrivateKey => SSHBastionPrivateKeyFile 2018-08-29 14:40:33 +02:00
Adrien Delorme 5369c15459 helper: communicator.SSHFileSigner => ssh.FileSigner
* had to to avoid circular dependency
* this commit fixes #6631 ( esxi cannot be reached by ssh )
2018-08-29 14:40:33 +02:00
Adrien Delorme b83c72fd54 more private keys in config 2018-08-29 14:40:32 +02:00
Adrien Delorme 663c8134ef GCP: put ssh public/private key in config 2018-08-29 14:40:32 +02:00
Adrien Delorme 51d2aac9f6 SSHPrivateKey => SSHPrivateKeyFile 2018-08-29 14:40:32 +02:00
Matthew Hooker e41e99954d
go 1.11 format rules 2018-08-24 15:56:44 -07:00
Megan Marsh 340363a649
Merge pull request #6613 from hashicorp/merge_ssh_config_funcs
Merge ssh config funcs from builders
2018-08-23 16:03:36 -07:00
Adrien Delorme fa44a4546f use ssh.ParsePrivateKey where we can 2018-08-22 18:23:09 +02:00
Adrien Delorme bacfb02182 doc better SSHConfigFunc 2018-08-22 18:16:25 +02:00
Adrien Delorme ab7f998862 SSHConfigFunc: use struct fields instead of copying them locally 2018-08-22 17:08:46 +02:00
Adrien Delorme 0ff7c1da87 SSHConfigFunc: append the ssh auth ways 2018-08-22 17:03:25 +02:00
Adrien Delorme 41f6e0334d refactor all copy pasted sshConfig with into communicator.Config.SSHConfigFunc
* still need to append the auth methods into an array for gracefullness
2018-08-22 17:02:23 +02:00
Megan Marsh ff6a039d5b replace scrubconfig with packer.LogSecretFilter.Set
filter winrm password from logs
Add new root-level packer template option, sensitive-variables, to tell us what user variables to mark sensitive.
2018-08-20 15:35:55 -07:00
Ali Rizvi-Santiago a3cec4f274 Emit both the host and the communicator to the user during StepConnect. 2018-07-29 02:18:26 -05:00
Megan Marsh 3afb243f11 use build name to ensure that winrm password and other shared state is not overwritten if two builders need the password in the same packer run. 2018-04-16 13:41:17 -07:00
Seth Vargo b193b96f76
Include arch and os 2018-04-05 14:28:50 -04:00
Seth Vargo b17b333e29
Add a common package for specifying useragent and adopt that everywhere
There were 5 different formats for the Packer useragent string. This
fixes that and unifies it into a helper package.

I did not touch oracle's user-agent, because it looked kinda special.
2018-04-05 14:28:50 -04:00
Megan Marsh 4e32d0da24 stricter permissions on shared state file since it now contains a password 2018-03-16 14:11:32 -07:00
Megan Marsh 4d19f4f8b6 add all the new files 2018-03-14 15:58:12 -07:00
Josh Soref 64aae1c781 spelling: occurring 2018-03-13 08:16:48 +00:00
Josh Soref 5e167e3b6d spelling: accumulates 2018-03-13 07:03:51 +00:00
SwampDragons 5af42ee9e2
Revert "Add `winrm_no_proxy` option." 2018-02-08 15:10:53 -08:00
Matthew Hooker 22666153f9
Add `winrm_no_proxy` option.
Setting this adds the remote host:ip to the `NO_PROXY` environment
variable.
2018-02-07 20:58:08 -08:00
Matthew Hooker 63f1673909
ssh deadlines 2018-01-31 12:35:25 -08:00
Matthew Hooker cab52872f4
add session level keep-alives for ssh communicator 2018-01-30 22:00:37 -08:00
Matthew Hooker 3e2895afec
comments 2018-01-24 17:09:18 -08:00
Matthew Hooker 2afd81741c
use correct context 2018-01-24 17:09:18 -08:00
Matthew Hooker ce4f30c5ae
fix tests 2018-01-24 17:09:17 -08:00
Matthew Hooker 8cd403425e
test fixes WIP 2018-01-24 17:09:17 -08:00
Matthew Hooker 5d48d658b4
Wire context through misc steps
Some steps actually need to pass the context around, so let's create
a ctx variable and pass it.
2018-01-24 17:09:17 -08:00
Matthew Hooker 7a189a83a1
fix imports
`find . -type f -name '*.go' -not -path "./vendor/*" -exec goimports -w {} \;`
2018-01-24 17:09:17 -08:00
Matthew Hooker a831d522be
change run signatures
Run now takes a context as well as a statebag. We'll assign the context
to the blank identifier to prevent namespace collisions. We'll let the
step authors opt-in to using the context.

`find . -iname "step_*.go" -exec gsed -i'' 's/func \(.*\)Run(/func \1Run(_ context.Context, /' {} \;`
2018-01-24 17:09:17 -08:00
Matthew Hooker a0c625ea44
Revert "working with opt-in"
This reverts commit 4068ffdaf541354e75507add7ca0b193993fcd52.
2018-01-24 17:09:16 -08:00
Matthew Hooker e98f201602
working with opt-in 2018-01-24 17:09:16 -08:00
Matthew Hooker 62e3d1362f
pass context through step.run again 2018-01-24 17:09:16 -08:00
Matthew Hooker 030b5fd4f0
WIP add context to state bag 2018-01-24 17:09:16 -08:00
Matthew Hooker 07a5af66f8
remove ctx arg from step.run 2018-01-24 17:09:15 -08:00
Matthew Hooker 366dc3da0a
move multistep imports to helper.
gomvpkg -from "github.com/mitchellh/multistep" -to "github.com/hashicorp/packer/helper/multistep"
2018-01-24 17:09:15 -08:00
Matthew Hooker 89d43256bb
pass context into step.run 2018-01-24 17:09:15 -08:00
Matthew Hooker 807e88245b
trying to add context to state bag 2018-01-24 17:09:15 -08:00
Pawel Kilar 17beb1d7ad Check if both SSH proxy and basiton are configured 2017-10-14 21:38:44 +01:00
Paul Kilar d9b404fa00 SOCKS5 proxy support 2017-10-10 15:04:15 +01:00
Megan Marsh 959db1ac16 add echo test to winrm connection. 2017-09-01 15:26:41 -07:00
Rickard von Essen 4f6010aa26
ssh: Renamed ssh_disable_agent to ssh_disable_agent_forwarding
Closes: #4941
2017-06-19 16:26:18 +02:00
Lee Spottiswood 8473a1148c Add 'winrm_use_ntlm' configuration directive for NTLM authentication support 2017-06-07 12:08:12 +01:00
Rickard von Essen d4ecf4acb3
Add InsecureIgnoreHostKey to bastion connection 2017-05-28 20:35:01 +02:00
Rickard von Essen 2164700162
comm/ssh: Add support for using SSH Agent auth towards a bastion host.
Adds `ssh_bastion_agent_auth`

Fixes: #4732
2017-05-28 14:05:03 +02:00
Matthew Hooker 81522dced0
move packer to hashicorp 2017-04-04 13:39:01 -07:00
Matthew Hooker aaba5286a6 Revert "Use SSH agent when enabled for bastion step" 2017-02-27 11:30:08 -08:00
David Campbell 6c7e3b70a9
- use xanzy/ssh-agent for windows compatibility 2017-02-26 18:01:45 -08:00
David Campbell b598baa5e3
Use SSH agent when enabled for bastion step 2017-02-26 17:59:42 -08:00
Eike Verdenhalven 7ad77b9e93 integrate new winrm transport interface 2017-01-18 22:11:48 +01:00
Taliesin Sisson 335615408a Run go fmt on files 2016-12-12 22:45:19 +00:00
Taliesin Sisson bd0b1190f6 When redirecting local ports to hyper visor ports we need to configure WinRM ports as well as SSH ports. 2016-12-12 22:44:09 +00:00
Rickard von Essen 96e9a8e6e9 Removed default value for ssh_username 2016-11-17 22:30:34 +01:00
James Nugent 7425fef2c7 builder/amazon: Allow use of local SSH Agent
This commit adds an option to use the local SSH Agent to authenticate
connections to source instances started by the the EBS and Instance
Store builders.

This is of use when the source AMI _already_ has configuration for
authorized SSH keys - for example if one uses an SSH certificate
authority.

A further extension (not implemented in this commit) is to allow SSH
agent use with a pre-defined key pair, in order to allow keys with
passphrases to be used without giving the passphrase to Packer.
2016-10-23 21:43:47 -05:00
Orivej Desh 639bf356aa Fail on unknown values of -on-error 2016-09-17 14:42:21 +00:00
Gonzalo Peci 9c9f8cd451 Add winrm functionality to null provisioner (#2525)
* Add new functions to communicator helper to return the user, password, host, based on the communicator used.

This implementation can help then generalize the provisioeners later on.

* Update null builder checks to utilize the new functions and check for ANY hostname or user or password

* Update builder to user any hostname
2016-05-18 17:22:53 -07:00
Christopher Boumenot b57ed27352 Add support for NTLM the WinRM communicator.
WinRM exposes an HTTP transport decorator that can be used for different
authentication schemes.  Windows on Azures requires this if one is to use
the out of the box configuration.
2016-03-10 10:53:38 -08:00
Ilias Bertsimas 918c88ac38 Add 4 testing scenarios for WinRM helper communicator config. 2016-03-02 11:48:20 +00:00
Ilias Bertsimas 85e4865368 Make communicator's WinRM defaults more intuitive when using SSL. 2016-02-29 14:26:28 +00:00
Chris Bednarski 569e6cc464 go fmt 2016-02-08 17:34:06 -08:00
Chris Bednarski 3d9410f176 Merge branch 'sftp' of https://github.com/2opremio/packer into f-sftp 2016-02-02 14:16:19 -08:00
Chris Bednarski 6587926a2b Merge pull request #2848 from epowell/master
Implement a null-object communicator for 'none'
2016-01-21 12:44:36 -08:00
Ben Goodwin 64152e4a64 Implement WinRM-over-HTTPS 2016-01-12 21:28:20 -05:00
Evan Powell bb8ced8cc9 Implement a null-object communicator for 'none'
Fixes #2736
2015-10-20 17:00:48 -05:00
Mark Peek 268ce81dd3 helper/communicator: allow docker custom communicator 2015-10-11 11:48:16 -07:00
Mark Peek 2306f4a4e4 Fixes #2699: catch invalid communicator types 2015-10-11 11:20:50 -07:00
Alfonso Acosta a59c82d7a6 Add sftp file transfer support
Adds a new config option: "ssh_file_transfer_method", which can be set to "scp"
or "sftp" (defaults to "scp")
2015-07-26 23:49:18 +00:00
Gonzalo Peci 88ebc2f7e8 Add s.SSHPort variable as the port WinRM uses to connect. This is needed on any builder where the port used to connect is not the guest winrm port but a nated port on the host.
Similar behavior is used by the SSH communicator.
2015-07-27 09:57:38 +12:00
Chris Bednarski 7a6eb966c0 We actually use PACKER_ACC not TF_ACC 2015-07-24 14:49:44 -07:00
Mitchell Hashimoto ac444accb1 helper/config: tests 2015-06-30 10:44:56 -07:00
Mitchell Hashimoto fd2d44c212 helper/config: copy buildname/buildtype properly 2015-06-30 10:42:55 -07:00
Chris Bednarski eee066371a Support -flag=var1,var2,var3 to fix #2332 2015-06-26 17:54:59 -07:00
Mitchell Hashimoto a019575026 helper/communicator: support disabling SSH agent 2015-06-23 14:52:37 -07:00
Mitchell Hashimoto 6cdc17dda4 helper/communicator: default bastion PK to normal PK 2015-06-17 22:33:59 +02:00
Mitchell Hashimoto cbaaf0da52 communicator/ssh: support for bastion SSH 2015-06-17 22:10:42 +02:00
Mitchell Hashimoto dc067b3f10 Merge pull request #2244 from mitchellh/f-docker-ssh
builder/docker: support custom communicators
2015-06-15 09:48:55 -07:00
Mitchell Hashimoto dbbf10472b Merge branch 'b-config-handshake' 2015-06-15 09:44:04 -07:00
Mitchell Hashimoto 723b91ccf3 Merge pull request #2232 from mitchellh/f-build-name
core: add build_name and build_type functions
2015-06-15 09:42:22 -07:00
Clint 8fca582278 Merge pull request #2221 from mitchellh/f-amazon-force-deregister-artifacts
builder/amazon: Add force_deregister option
2015-06-15 10:02:30 -05:00
Mitchell Hashimoto cab2665119 builder/docker: support custom communicators 2015-06-14 22:09:38 -07:00
Mitchell Hashimoto 8f6ecfd9e3 builder/amazon: various fixes (minor) to get things going 2015-06-13 23:12:59 -07:00
Mitchell Hashimoto dc8c94890a helper/config: copy template path properly 2015-06-13 22:56:36 -07:00
Mitchell Hashimoto 4be10b428a helper/communicator: hook up WinRM 2015-06-13 22:07:17 -07:00
Mitchell Hashimoto 7a39758054 helper/communicator: WinRM stuff 2015-06-13 22:05:48 -07:00
Mitchell Hashimoto 8d0904e296 helper/communicator: configurable handshake attempts [GH-1988] 2015-06-13 19:39:42 -04:00
Mitchell Hashimoto c3cc9e844e helper/communicator: fix vet 2015-06-13 19:24:57 -04:00
Mitchell Hashimoto 115d583cff helper/communicator: make host more generic 2015-06-13 19:23:33 -04:00
Mitchell Hashimoto 68e4734caf builder/null: pass unit tests 2015-06-13 18:55:37 -04:00
Mitchell Hashimoto 5d630bf5fb helper/communicator: validate ssh keys 2015-06-13 18:05:10 -04:00
Mitchell Hashimoto 90581899a4 helper/config: decode time durations 2015-06-13 17:53:45 -04:00
Mitchell Hashimoto 60081c323a helper/communicator: ssh settings aren't required if type is none 2015-06-13 17:51:27 -04:00
Mitchell Hashimoto 4b4fe2280d helper/communicator: can be disabled 2015-06-13 17:50:45 -04:00
Mitchell Hashimoto 4b3ed5d7e2 helper/communicator 2015-06-13 17:42:38 -04:00
Mitchell Hashimoto 472b060394 packer: build_name and build_type work + tests 2015-06-13 16:51:39 -04:00
Clint Shryock bec59b535d builder/amazon: Add force_deregister option, to automatically deregister artifacts with name conflicts 2015-06-12 13:23:47 -05:00
Mitchell Hashimoto 639e63fd7c packer: test for template path 2015-05-29 14:29:32 -07:00
Mitchell Hashimoto 931f3eb7bc helper/config: support outputting metadata 2015-05-27 12:55:41 -07:00
Mitchell Hashimoto bdb9bd7dc5 helper/config: error if unused keys 2015-05-27 11:34:47 -07:00
Mitchell Hashimoto 241f76b5b1 helper/config: decoder 2015-05-27 10:44:10 -07:00
Mitchell Hashimoto 49e29d5a6b builder/testing: delete artifacts 2015-05-26 13:47:17 -07:00
Mitchell Hashimoto 485825fe12 helper/builder/testing for acceptance tests 2015-05-26 13:22:18 -07:00
Mitchell Hashimoto 7f78a2c5d9 helper/flag-kv: can parse JSON files 2015-05-26 09:58:04 -07:00
Mitchell Hashimoto 9d89ca8e07 command: build should be converted to new API, compiles 2015-05-23 16:30:45 -07:00