Commit Graph

149 Commits

Author SHA1 Message Date
Matthew Hooker 4e93e60313 log unknown error, make ExitMissingError clearer 2016-10-06 11:13:39 -07:00
Matthew Hooker 286b7836fa remove dead code.
continues work from a629f1655b
2016-10-05 18:17:02 -07:00
Matthew Hooker 5ab19ea469 bump ssh library, check for ssh.ExitMissingError
should resolve #3920
2016-10-05 18:16:08 -07:00
开恒 5919f8d552 continue add support for file-provisioner implement directory download feature. 2016-09-18 20:48:30 +08:00
Alex Brown 0cea0e5c24 Swap width and height when allocating a pty
RequestPty from crypto/ssh looks like this:

func (s *Session) RequestPty(term string, h, w int, termmodes TerminalModes) error

So arguments 2 and 3 are height and width, respectively. I'm not sure if
the original was just a typo, or if there's an actual reason we want a
40 column terminal. Either way, having a terminal this narrow led me to
a really "fun" bug[0], where `wget` in my shell provisioner scripts
would segfault when trying to display the progress bar.

[0] http://lists.gnu.org/archive/html/bug-wget/2016-02/msg00041.html
2016-04-06 15:40:19 -04:00
Vasiliy Tolstov feee19e4ed file provisioner improvements
* allow specify source/destination as dir
* allow specify many files as source

Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2016-02-12 11:48:28 -08: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
Chris Bednarski 0ca03f09c1 Fix some style issues and add a doc to ErrHandshakeTimeout 2015-07-02 11:58:51 -07:00
Chris Bednarski 5dd8ae45c7 Cleanup some resources we may have created 2015-07-02 03:55:18 -07:00
Chris Bednarski 03850cafc6 Implemented timeout around the SSH handshake, including a unit test 2015-07-02 03:40:47 -07:00
Mitchell Hashimoto 8657b1e9d8 communicator/ssh: more logging 2015-06-29 11:40:08 -07:00
Mark Peek d8b6c94012 Fix typo: diabled -> disabled 2015-06-26 10:52:21 -07:00
Mitchell Hashimoto a019575026 helper/communicator: support disabling SSH agent 2015-06-23 14:52:37 -07:00
Mitchell Hashimoto cbaaf0da52 communicator/ssh: support for bastion SSH 2015-06-17 22:10:42 +02:00
Mitchell Hashimoto 686d4413ec communicator/winrm: error if download 2015-06-15 15:08:56 -07:00
Alexander Golovko 8ecca2aa54 implement ssh.Download() 2015-06-15 15:08:18 -07:00
Mitchell Hashimoto acf31c31a1 communicator/ssh: update logging 2015-06-13 19:00:28 -07:00
Mark Peek b2f8eb68e8 Enable ssh agent forwarding #1066 2015-06-13 17:15:49 -07:00
Mitchell Hashimoto 71d8c6610a Merge pull request #1968 from bhcleek/master
do not request a pty
2015-06-13 16:23:31 -04:00
Mitchell Hashimoto 23a48d6619 go fmt 2015-06-08 21:34:20 -07:00
jszwedko b1497b951c code.google.com/p/go.crypto/ssh -> golang.org/x/crypto/ssh
code.google.com/p/go.crypto/ssh is now at golang.org/x/crypto/ssh as of
https://code.google.com/p/go/source/detail?spec=svn.crypto.69e2a90ed92d03812364aeb947b7068dc42e561e&repo=crypto&r=8fec09c61d5d66f460d227fd1df3473d7e015bc6

Using the code.google.com import redirects properly, but runs into
issues if you try to use a subpackage of `ssh`, e.g. `agent` which
refers to golang.org/x/crypto/ssh causing conflicts if your types expect
code.google.com/p/go.crypto/ssh.

This is a precursor to a PR for #1066.
2015-05-28 08:17:49 -07:00
Emil Hessman c4d4e0a21f communicator/ssh: bind variable value to closure
Fixes the following vet report:

communicator/ssh/communicator_test.go:88: range variable newChannel captured by func literal
2015-02-25 05:43:18 +01:00
Billie H. Cleek 2184892f8a do not request a pty
Change the default behavior from requesting a PTY when executing a
command with the ssh communicator to requesting a PTY only when
configured to do so.

Update the vmware builders to be fully backward compatible with the new
behavior.
2015-02-12 20:18:54 -08:00
Tim Cinel 0f36a051d5 Create temporary copy of symlink before uploading, fixes #1765 2014-12-16 14:11:28 +11:00
Mitchell Hashimoto cc16e19a6b communicator/ssh: upload proper source [GH-1484] 2014-09-10 14:16:24 -07:00
Mitchell Hashimoto 75395af12d Merge branch '1064-fix-upload-file-permissions' of github.com:rasa/packer into rasa-1064-fix-upload-file-permissions
Conflicts:
	builder/parallels/common/step_upload_parallels_tools.go
	builder/vmware/common/step_upload_tools.go
	provisioner/chef-client/provisioner.go
	provisioner/chef-solo/provisioner.go
2014-09-08 13:20:46 -07:00
Mitchell Hashimoto 0d35473d41 communicator/ssh: make TCP keep-alive period shorter [GH-1232] 2014-09-04 11:24:01 -07:00
Ross Smith II d92179847d provisioner/file: set file/directory permissions
fixes #1064
2014-05-09 21:03:35 -07:00
Mitchell Hashimoto a629f1655b communicator/ssh: remove background connection checker
Updated SSH package is supposed to be able to detect remote connection
closes now, which is nice.
2014-04-28 15:25:59 -07:00
Mitchell Hashimoto b24fe263da communicator/ssh: fix bad imports 2014-04-26 11:19:37 -07:00
Mitchell Hashimoto 5fac6c79c4 fmt 2014-04-26 11:12:43 -07:00
Mitchell Hashimoto e84e5e4f2c Merge branch 'update-ssh-package' of github.com:higebu/packer into higebu-update-ssh-package
Conflicts:
	builder/amazon/common/ssh.go
	builder/digitalocean/ssh.go
	builder/googlecompute/ssh.go
	builder/openstack/ssh.go
	communicator/ssh/communicator_test.go
	communicator/ssh/keychain.go
	communicator/ssh/keychain_test.go
2014-04-26 11:12:06 -07:00
higebu f087ce16dc Fix the build problem by updating ssh package 2014-04-15 10:17:26 +09:00
Ross Smith II 27491f93f8 use old ssh code until higebu's branch is ready, see #1019 2014-04-11 08:23:12 -07:00
Mitchell Hashimoto 8b99ad7a50 communicator/ssh: fix build 2014-02-21 14:51:33 -08:00
Mitchell Hashimoto 9d55fa7f46 communicator/ssh: set TCP keep-alive [GH-872] 2014-02-21 14:46:05 -08:00
Mitchell Hashimoto 2e03dda014 communicator/ssh: fix build 2013-12-10 18:14:02 -08:00
Mitchell Hashimoto 6359245ef8 communicator/ssh: clearer logging [GH-699] 2013-12-10 18:10:15 -08:00
Mitchell Hashimoto 254653475e communicator/ssh: buffer file on disk to read length [GH-561] 2013-11-02 11:34:54 +01:00
Mitchell Hashimoto 65d391dbeb communicator/ssh: explicitly set c.conn = nil 2013-10-13 22:21:52 -10:00
Mitchell Hashimoto f017fd8af9 go fmt 2013-09-30 11:39:52 -07:00
Mitchell Hashimoto 8cdb92e327 communicator/ssh: dir upload works when dir contains symlinks [Gh-449] 2013-09-25 10:42:49 +02:00
Jason A. Beranek 71358222f0 communicator/ssh, builder/digitalocean: fix new SSH API from upstream 2013-09-19 23:30:22 -05:00
Mitchell Hashimoto 9f52b78602 fmt 2013-09-15 23:29:29 -07:00
Mitchell Hashimoto eaba28a370 communicator/ssh, builder/digitalocean: fix new SSH API from upstream 2013-09-15 12:21:21 -07:00
Mitchell Hashimoto a9bd78a08f communicator/ssh: detect if SCP exited with failure [GH-386] 2013-09-05 19:55:09 -07:00
Mitchell Hashimoto 9a6309738a communicator/ssh: prettify log output 2013-09-05 17:22:37 -07:00
Justin Santa Barbara 253be30bd1 If PKCS1 parsing of the SSH key fails, try PKCS8 2013-08-31 21:54:23 -07:00
Mitchell Hashimoto a6735b1d65 builder/virtualbox: support ssh keys as auth mechanism [GH-70] 2013-08-27 22:55:13 -07:00
Mitchell Hashimoto dce369fb1d communicator/ssh: Reset failure count if heartbeat works 2013-08-27 22:14:31 -07:00
Mitchell Hashimoto 35d0b90f55 communicator/ssh: heartbeat the SSH connection to detect drops [GH-200] 2013-08-27 22:12:21 -07:00
Mitchell Hashimoto c753946c84 builder/vmware: ability to not request a PTY for SSH [GH-270] 2013-08-27 16:51:05 -07:00
Mitchell Hashimoto 86abf14b28 communicator/ssh: Trailing slash won't create destination dir 2013-08-25 20:47:10 -07:00
Mitchell Hashimoto 095631107a communicator/ssh: UploadDir works properly 2013-08-25 20:30:56 -07:00
Mitchell Hashimoto a050d344eb communicator/ssh: refactor to upload directories properly 2013-08-25 20:30:56 -07:00
Mitchell Hashimoto 05ab50949f communicator/ssh: refactor scpSession that we'll reuse for UploadDir 2013-08-25 20:30:56 -07:00
Mitchell Hashimoto d857c9ccbb builder/amazon/chroot: implement UploadDir for chroot communicator 2013-08-25 20:30:56 -07:00
Mitchell Hashimoto 443ccc5306 packer/rpc: don't panic on failed Ui calls 2013-08-23 14:39:59 -07:00
Mitchell Hashimoto 043264ca77 communicator/ssh: more error handlingin Upload 2013-08-23 11:27:59 -07:00
Mitchell Hashimoto cf175b4733 communicator/ssh: respect interrupts by not looping on retyr [GH-327] 2013-08-22 11:53:31 -07:00
Mitchell Hashimoto c2451e9f49 communicator/ssh: get data race tests passing 2013-08-21 11:05:21 -07:00
Mitchell Hashimoto 90974a4733 communicator/ssh: fix panic when client is nil on reconnect 2013-08-12 15:22:31 -07:00
Mitchell Hashimoto fa3f87a5f6 communicator/ssh: docs 2013-08-11 16:15:10 -07:00
Rafael Garcia be1f6b79f1 communicator/ssh: ability to use a password-protected key 2013-08-11 09:46:28 -07:00
Mitchell Hashimoto a134a326b8 communicator/ssh: log when remote exits 2013-07-30 17:06:22 -07:00
Mitchell Hashimoto 9b0c3b28c5 communicator/ssh: use SetExited 2013-07-29 12:12:42 -07:00
Jeff Stamerjohn 4ff0185add Windows fixes
Strip carriage returns from end of lines in virtualbox/driver.go, fixing wait for virtualbox host shutdown.
Fix target upload directory path in communicator.go to use forward slashes.  (When running on windows path/filepath returns backslashes...which does not work when the target host is unix).
2013-07-25 09:28:04 -07:00
Mitchell Hashimoto b2397f4fb1 communicator/ssh: style
/cc @markpeek - The main thing is that the style for variables/methods
in Go is to use CamelCase (with the first letter generally downcased
unless an exported thing).
2013-07-19 14:16:39 -04:00
Mitchell Hashimoto b88595b169 communicator/ssh: remove complete TODO 2013-07-19 14:09:20 -04:00
Mark Peek ebd14bb2df Return errors from remote scp command
Currently file provisioners will silently fail when there is an error
with the remote side. This commit checks the scp error code and will
return the error message from the remote.
2013-07-17 18:15:42 -07:00
Mitchell Hashimoto 07449a7801 communicator/ssh: improved logging 2013-07-14 21:07:32 +09:00
Mitchell Hashimoto a0f1667df1 communicator/ssh: tweakable timeout on retry connection 2013-07-14 21:05:22 +09:00
Mitchell Hashimoto ebd3742e3e communicator/ssh: retry connection in ConnectFunc forawhile 2013-07-14 21:02:47 +09:00
Mitchell Hashimoto 2fff555e7f fmt 2013-07-14 20:55:27 +09:00
Mitchell Hashimoto 020e719e92 communicator/ssh: re-establish ssh connection if possible [GH-152] 2013-07-14 20:55:02 +09:00
Mitchell Hashimoto 04463f8254 communicator/ssh: ConnectFunc times out after 15 sceonds 2013-07-14 20:31:51 +09:00
Mitchell Hashimoto 9718a4656c communicator/ssh: have a Connection func so we can re-establish
[GH-152]
2013-07-14 20:22:57 +09:00
Mitchell Hashimoto ee6fd4941a communicator/ssh: show more descriptive error if SCP not avail [GH-127] 2013-07-07 12:23:32 -07:00
Mitchell Hashimoto a47fd26db3 fmt 2013-07-04 12:44:36 -07:00
Mitchell Hashimoto 93a8c153a6 communicator/ssh: add keyboard interactive auth [GH-121] 2013-07-02 22:00:31 -07:00
Mitchell Hashimoto 53b7b3965f fmt 2013-06-23 20:43:50 -07:00
Mitchell Hashimoto 1e61cc2bd3 communicator/ssh: request a PTY 2013-06-23 17:36:45 -07:00
Mitchell Hashimoto 72bb2d68dd communicator/ssh: remove unusable code 2013-06-17 15:20:31 -07:00
Mitchell Hashimoto a23897f52d communicator/ssh: Add type for static passwords 2013-06-05 23:05:39 -07:00
Mitchell Hashimoto 1cea606f12 communicator/ssh: Adhere to new Communicator interface 2013-06-02 23:27:01 -07:00
Mitchell Hashimoto ace53450b9 packer: More efficient RemoteCommand.ExitChan 2013-06-01 17:57:26 -07:00
Mitchell Hashimoto c6dd54760c Get everything compiling again 2013-06-01 17:48:19 -07:00
Mitchell Hashimoto b26ff7a6eb communicator/ssh: More logging 2013-05-27 22:05:33 -07:00
Mitchell Hashimoto 81d8b20730 Update TODO, since Upload is implemented 2013-05-24 09:48:24 -07:00
Mitchell Hashimoto 69f1d0fd9f communicator/ssh: Clearer TODO message about acks 2013-05-24 09:40:20 -07:00
Mitchell Hashimoto eb5f478ee7 communicator/ssh: Return error if non-zero exit status on Upload 2013-05-24 09:27:28 -07:00
Mitchell Hashimoto 821d27a6bb communicator/ssh: More complete SCP 2013-05-24 09:06:13 -07:00
Mitchell Hashimoto d8ad9ca106 communicator/ssh: A first pass at SCP uploading 2013-05-24 08:23:48 -07:00
Mitchell Hashimoto 39a05400dd communicator/ssh: Test to verify keychain impls ssh.ClientKeyring 2013-05-20 22:51:51 -07:00
Mitchell Hashimoto abcdd5a613 communicator/ssh: Add SimpleKeychain 2013-05-20 22:50:13 -07:00
Mitchell Hashimoto 15f215d04f go fmt 2013-05-20 16:50:35 -07:00
Mitchell Hashimoto bee266008e communicator/ssh: Ensure valid communicator 2013-05-20 15:52:34 -07:00
Mitchell Hashimoto 6d3e7e9964 communicator/ssh: Simplify tests 2013-05-20 15:49:14 -07:00
Mitchell Hashimoto 08ac912cb7 Start work on SSH communicator 2013-05-20 15:47:41 -07:00