---
description: |
  Communicators are remote-access programs Packer uses to perform actions, such as upload files and execute scripts, on the machines Packer creates.
page_title: Communicators overview
---

# Communicators overview

Communicators are the mechanism Packer uses to upload files, execute scripts,
etc. with the machine being created.

Communicators are configured within the
[builder](/packer/docs/templates/legacy_json_templates/builders) section. Packer currently supports
three kinds of communicators:

- `none`: Packer does not use a communicator and cannot use most provisioners.
- [`ssh`](/packer/docs/communicators/ssh): Packer establishes an SSH connection to the machine. This is usually the default.
- [`winrm`](/packer/docs/communicators/winrm): Packer establishes a WinRM connection. 

In addition to the above, some builders have custom communicators they can use.
For example, the Docker builder has a "docker" communicator that uses
`docker exec` and `docker cp` to execute scripts and copy files.

For more details on how to use each communicator, click the links above to be
taken to each communicator's page.
