* docs: Add connection workflow docs * docs: Update HCP connect to target topic * docs: Update Overview topic and nav * docs: Break out exec flag topic * docs: Updates to connect helpers topic * docs: Update exec flag and proxycommand topics * docs: Fix broken link * docs: Update meta content and get started topics * docs: Redirect deleted proxycommand topic * docs: Add links for HCP and self-managed tutorials * docs: Add multi-hop * adds CodeTabs and windows instructions * Update website/content/docs/concepts/connection-workflows/workflow-ssh-proxycommand.mdx Co-authored-by: Robin Beck <stellarsquall@users.noreply.github.com> * removes windows workflow --------- Co-authored-by: stellarsquall <stellarsquall@protonmail.ch> Co-authored-by: Robin Beck <stellarsquall@users.noreply.github.com>
135 lines
4.9 KiB
Plaintext
135 lines
4.9 KiB
Plaintext
---
|
|
layout: docs
|
|
page_title: Connect to target
|
|
description: |-
|
|
Connecting to your first target
|
|
---
|
|
|
|
# Connect to your first target
|
|
|
|
The [Quick setup
|
|
wizard](/boundary/docs/getting-started/deploy-and-login#login-to-hcp-boundary)
|
|
is the fastest way to onboard a target to HCP Boundary.
|
|
|
|

|
|
|
|
The Quick setup wizard creates a default `tcp` target with the port `22` (the default SSH port using TCP).
|
|
The target is created with the address `127.0.0.1`.
|
|
When you execute `boundary connect` against this target, Boundary establishes a local, authenticated proxy to the address on the target's default port (`127.0.0.1:22`.)
|
|
|
|

|
|
|
|
## Connect using the CLI
|
|
|
|
To connect to the initial EC2 Instances target:
|
|
|
|
1. Copy the **EC2 Instances** target ID (such as `ttcp_ZnHEU9h8qX`).
|
|
|
|
1. Open a terminal session. Export the Boundary **Cluster URL** as an environment
|
|
variable.
|
|
|
|
```shell-session
|
|
$ export BOUNDARY_ADDR=<boundary-cluster-url>
|
|
```
|
|
|
|
1. Connect to the target.
|
|
|
|
```shell-session
|
|
$ boundary connect -target-id ttcp_eTcZMueUYv
|
|
```
|
|
|
|
The output displays the address and port that your SSH client must use.
|
|
In the next section the `ssh` connect helper is used to make it easier to connect to the target with a client.
|
|
|
|
The `boundary connect` command has a number of notable options, such as
|
|
`-listen-port` to choose the port on which the connect command will listen for
|
|
an incoming connection. This is convenient for allowing Boundary to work with
|
|
applications that allow you to select the connection address, but not the port.
|
|
For many applications there are still some extra hurdles that can exist, which
|
|
is why connect helpers can be useful.
|
|
|
|
The dev-mode default target allows you to make as many connections as you want
|
|
within the authorized session. When you are finished making connections, simply
|
|
`Ctrl-C/Command-C` the `boundary connect` process to shut down the session.
|
|
|
|
## Select targets
|
|
|
|
When using `boundary connect` you must identify the target used for connecting.
|
|
Convention in this documentation is to use the target ID because it refers to a
|
|
single explicit value, however other flags are supported:
|
|
|
|
- `target-name`: The name of the target
|
|
- `target-scope-id`: The ID of the scope in which the target lives
|
|
- `target-scope-name`: The name of the scope in which the target lives
|
|
|
|
Note however that these are not uniquely identifying, as names can be reused
|
|
across scopes. As a result, when not using the target ID, you must use the
|
|
target's name in conjunction with the scope name or scope ID so that Boundary
|
|
can correctly identify the desired target.
|
|
|
|
Here is an SSH example in dev-mode:
|
|
|
|
```shell-session
|
|
$ boundary connect ssh -target-name "Generated target" -target-scope-name "Generated project scope"
|
|
```
|
|
|
|
## Connect helpers
|
|
|
|
Boundary includes connect helpers that automatically accept host SSH key prompts
|
|
for you.
|
|
These are written as `boundary connect <subcommand>` and are supported for the following connection types:
|
|
|
|
- HTTP
|
|
- Kubernetes
|
|
- PostgreSQL
|
|
- RDP
|
|
- SSH
|
|
|
|
Refer to the [Connect helpers](/boundary/docs/concepts/connection-workflows/connect-helpers) documentation for more information.
|
|
|
|
## Built-in vs. exec
|
|
|
|
In addition to the built-in connect helpers, `boundary connect`
|
|
can accommodate executing clients even when there is no built-in support
|
|
for a specific client using `-exec`. The `-exec` flag is a very powerful
|
|
tool, allowing you to wrap Boundary TCP sessions in your preferred
|
|
client. You can use this flag to create an authenticated proxy to almost
|
|
anything.
|
|
|
|
Refer to the [Exec flag](/boundary/docs/concepts/connection-workflows/exec-flag) documentation for more information.
|
|
|
|
## SSH ProxyCommand
|
|
|
|
SSH `ProxyCommand` lets you proxy an SSH connection to a target according to a configuration file that you create.
|
|
It can help simplify common developer and operator workflows.
|
|
You can configure the file to connect to the target ID or the target domain.
|
|
|
|
Refer to the [SSH ProxyCommand](/boundary/docs/concepts/connection-workflows/workflow-ssh-proxycommand) documentation for more information.
|
|
|
|
## Desktop client
|
|
|
|
While using the desktop client, choose the target and connect to retrieve local
|
|
proxy details.
|
|
|
|
<video
|
|
muted
|
|
playsInline
|
|
autoPlay
|
|
loop
|
|
className="boundary-clickthrough-video boundary-clickthrough-desktop-video"
|
|
>
|
|
<source
|
|
type="video/mp4"
|
|
src="https://www.datocms-assets.com/2885/1613612836-boundary-desktop-clickthrough-connect-target-v1-0-0.mp4"
|
|
/>
|
|
</video>
|
|
|
|
## Tutorial
|
|
|
|
Refer to the [Connect to your First Target](/boundary/tutorials/hcp-getting-started/hcp-getting-started-connect) tutorial for steps on how to create a host catalog, host set, and a target in Boundary.
|
|
|
|
## Next steps
|
|
|
|
Refer to our [basic administration
|
|
workflows](/boundary/tutorials/hcp-administration) tutorial series
|
|
for in depth discussions on managing scopes, targets, identities, and sessions. |