Skip to content
This repository was archived by the owner on Nov 19, 2024. It is now read-only.

Commit 2d8a614

Browse files
meker12hguthrie
andauthored
Improve info about managing SSH keys in Cloud Guide (#8364)
* Fix broken link in Cloud Guide * Add tip for managing SSH keys on Cloud projects * Update src/_includes/cloud/enable-ssh.md * Fix lint error * Replace ssh-keygen instructions with link - Replaced ssh-keygen instructions with link to GitHub documentation, which provides instructions for Linux, macOS, and Windows. - Clarified other instructions * Apply suggestions from code review Co-authored-by: hguthrie <[email protected]> Co-authored-by: hguthrie <[email protected]>
1 parent 1eaab49 commit 2d8a614

File tree

2 files changed

+44
-88
lines changed

2 files changed

+44
-88
lines changed

src/_includes/cloud/enable-ssh.md

Lines changed: 38 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -15,89 +15,31 @@ For more information on SSH keys, see the following:
1515

1616
## Locate an existing SSH key pair {#existing}
1717

18-
An existing SSH key pair is typically located in the `.ssh` subdirectory of the user's home directory. This folder is hidden and may not display in the file manager or finder unless configured to display hidden files and folders.
19-
20-
You can quickly verify if you have SSH keys by entering commands using terminal access.
21-
22-
To check for SSH keys, enter the following command:
23-
24-
```bash
25-
ls ~/.ssh
26-
```
27-
28-
If you have SSH keys, a directory listing is displayed similar to the following:
29-
30-
```terminal
31-
id_rsa id_rsa.pub known_hosts
32-
```
33-
34-
If you do not have SSH keys, you need to generate the keys for adding to your Magento ECE account and GitHub account. See [Create a new SSH key pair](#ssh-create-new-key-pair).
35-
36-
If you already have SSH keys, continue to:
37-
38-
- [Add a public SSH key to your Magento account](#ssh-add-to-account) section
39-
- [Add your SSH key to your GitHub account](https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/)
40-
41-
## Create a new SSH key pair {#ssh-create-new-key-pair}
42-
43-
Use the `ssh-keygen` command to create an SSH key pair. `ssh-keygen` is typically installed on Linux systems.
18+
An existing SSH key pair is typically located in the `.ssh` subdirectory of the user home directory. This folder is hidden and may not display in the File Manager or Finder if your system is not configured to display hidden files and folders.
4419

4520
{:.procedure}
46-
To create an SSH key pair:
21+
To check for SSH keys:
4722

48-
1. The command syntax follows, entering the email used for your GitHub account:
23+
1. In the terminal, list the contents of your SSH directory.
4924

5025
```bash
51-
ssh-keygen -t rsa
26+
ls ~/.ssh
5227
```
5328

54-
GitHub also uses the key length `-b 4096` in the command. Follow the prompts to complete the key.
55-
56-
1. When prompted to "Enter a file in which to save the key," press **Enter** to save the file to the default location. The prompt displays the location.
57-
58-
1. When prompted to enter a secure passphrase, enter a phrase to use like a password. Make note of this passphrase. You may be requested to enter it depending on tasks you complete using a terminal during development.
29+
1. Review the output.
5930

60-
1. After creating the SSH key pair, start the ssh-agent:
31+
If you have SSH keys, a directory listing is displayed similar to the following:
6132

62-
For Mac or Linux:
63-
64-
```bash
65-
eval "$(ssh-agent -s)"
33+
```terminal
34+
id_rsa id_rsa.pub known_hosts
6635
```
6736

68-
For Mac, you can edit the `~/.ssh/config` file to automatically load keys into the ssh-agent and store passphrases in your keychain.
69-
70-
```conf
71-
Host *
72-
AddKeysToAgent yes
73-
UseKeychain yes
74-
IdentityFile ~/.ssh/id_rsa
75-
```
37+
If the directory does not exist or has no SSH key files, you must generate at least one SSH key and add it to your GitHub account. For instructions, see [Generate a new SSH key](https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent) in the GitHub documentation.
7638

77-
{:.bs-callout-info}
78-
You can specify multiple SSH keys by adding multiple `IdentityFile` entries to your configuration.
39+
If you have at least one SSH key in your directory, add the key to your Magento and GitHub accounts:
7940

80-
For Windows:
81-
82-
```shell
83-
eval $(ssh-agent -s)
84-
```
85-
86-
1. Add the SSH key to the ssh-agent. If you used a different name for the key file name, replace `id_rsa` with that file name.
87-
88-
For Mac:
89-
90-
```bash
91-
ssh-add -K ~/.ssh/id_rsa
92-
```
93-
94-
For Windows or Linux:
95-
96-
```shell
97-
ssh-add ~/.ssh/id_rsa
98-
```
99-
100-
1. [Add your SSH key to your GitHub account.](https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/) The instructions include Mac, Windows, and Linux.
41+
- [Add an SSH key to your GitHub account](https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/)
42+
- [Add your public SSH key to your Magento account](#ssh-add-to-account)
10143

10244
### Test the SSH keys {#test}
10345

@@ -120,13 +62,14 @@ You can add SSH keys to your account in any of the following ways:
12062
- Using the [{{site.data.var.ece}} CLI](#add-key-cli)
12163
- Using the [{{site.data.var.ece}} Web Interface](#add-key-web)
12264

123-
### Add a key using the CLI {#add-key-cli}
65+
### Add your SSH key using the CLI {#add-key-cli}
12466

12567
{:.procedure}
12668
To add an SSH key using the CLI:
12769

12870
1. Open a terminal application on your local workstation.
129-
1. If you haven't done so already, log in (or switch to) the [Magento file system owner]({{ site.baseurl }}/cloud/before/before-workspace-file-sys-owner.html) to the server on which your SSH keys are located.
71+
72+
1. If you have not done so already, log in (or switch to) the [Magento file system owner]({{ site.baseurl }}/cloud/before/before-workspace-file-sys-owner.html) to the server on which your SSH keys are located.
13073

13174
1. Log in to your project:
13275

@@ -140,30 +83,43 @@ To add an SSH key using the CLI:
14083
magento-cloud ssh-key:add ~/.ssh/id_rsa.pub
14184
```
14285

143-
### Add a key using the Project Web Interface {#add-key-web}
86+
{:.bs-callout-tip}
87+
You can list and delete SSH keys using the Magento Cloud CLI commands `ssh-key:list` and `ssh-key:delete`.
14488

145-
You will select and add your SSH public key to each environment in your account.
89+
### Add your SSH key using the Project Web Interface {#add-key-web}
90+
91+
You must add your SSH public key to your account. After you add the key, you must redeploy all active environments on your account to install the key.
14692

14793
- Starter: Add to Master (Production) and any environments you create by branching from Master
148-
- Pro: Add the key to Staging, Production, and Integration environments
94+
- Pro: Add the key to the Staging, Production, and Integration environments
14995

15096
{:.procedure}
151-
To add an SSH key using the Project Web Interface:
97+
To add an SSH key using the Project Web interface:
98+
99+
1. Get your public key.
152100

153-
1. Copy your SSH public key to the clipboard.
101+
- In the terminal, navigate to the `~/.ssh` directory.
154102

155-
If you do not already have SSH keys on that machine, see [GitHub documentation](https://help.github.com/articles/generating-an-ssh-key) to create them.
103+
- Copy the contents of the public key file `~/.ssh/<keyname>.pub` to the clipboard.
104+
105+
If there are no SSH key files in the directory, you must create one. See [Generate a new SSH key](https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent) in the GitHub documentation.
156106

157107
1. Login and access your project through the [Project Web Interface](https://accounts.magento.cloud).
158-
1. In your selected branch, an icon displays if you do not have an SSH key added.
108+
109+
1. In your project, look for the **No SSH key** icon to the right of the command field. This icon is visible when the project does not contain an SSH key.
159110

160111
![No SSH key]({{ site.baseurl }}/common/images/cloud/cloud_ssh-key-install.png)
161112

162-
1. Copy and paste the content of your public SSH key in the screen.
113+
1. Click the icon to add the key.
114+
115+
- Copy and paste the content of your public SSH key in the **Public key** field.
116+
117+
![Add SSH key]({{ site.baseurl }}/common/images/cloud/cloud_ssh-key-add.png)
163118

164-
![Add SSH key]({{ site.baseurl }}/common/images/cloud/cloud_ssh-key-add.png)
119+
- Follow the prompts on your screen to complete the task.
165120

166-
1. Follow the prompts on your screen to complete the task.
121+
{:.bs-callout-tip}
122+
You can view and manage the SSH keys on your account in _Account settings_. In the upper right corner of the Project Web interface, click **your-user-name** > **Account Settings**.
167123

168124
## Set global Git variables
169125

src/cloud/project/user-admin.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ You can manage access to {{site.data.var.ece}} projects by adding users and assi
2727

2828
## Add user authentication requirements
2929

30-
For added security, Magento provides project-level MFA enforcement to require two-factor authentication for SSH access to {{ site.data.var.ece }} project source code and environments. See [MFA enforcement for SSH].
30+
For added security, Magento provides project-level MFA enforcement to require two-factor authentication for SSH access to {{ site.data.var.ece }} project source code and environments. See [Enable MFA for SSH].
3131

3232
When MFA enforcement is enabled on a {{site.data.var.ece}} project, all users with SSH access to an environment in that project must enable two-factor authentication (TFA) on their {{site.data.var.ece}} account. For automated processes, users must create an API token that machine users can use to authenticate from the command line. See [Enable user accounts for TFA and SSH access](#update-account-security-settings).
3333

@@ -44,7 +44,7 @@ To add a user to a project or environment, you need the email address associated
4444

4545
### Manage users with the CLI {#cloud-user-mg-cli}
4646

47-
You can use the {{site.data.var.ece}} command line client to manage users and integrate this with any other automated system.
47+
Use the {{site.data.var.ece}} command line client to manage users and integrate this with any other automated system.
4848

4949
Available commands:
5050

@@ -175,17 +175,17 @@ After you add a user to a Cloud project, ask the user to review their account se
175175

176176
- Enable two-factor authentication (TFA)
177177

178-
Magento recommends adding two-factor authentication to all accounts to meet security and compliance standards. Projects configured with [MFA enforcement][] require two-factor authentication for all accounts that require SSH access to {{site.data.var.ece}} projects.
178+
Magento recommends adding two-factor authentication to all accounts to meet security and compliance standards. Projects configured with [MFA enforcement][Enable MFA for SSH] require two-factor authentication on accounts that use SSH to access the projects.
179179

180180
- Enable SSH keys
181181

182182
Users that require access to {{site.data.var.ece}} source code repositories and infrastructure must enable SSH keys on their account. See [Enable SSH keys][].
183183

184184
- Create an API token
185185

186-
You can generate an API token on your account that can be used for secure SSH access to an environment. You need the token to enable authentication workflows for automated processes.
186+
Users can generate an API token that can be used for secure SSH access to an environment. You need the token to enable authentication workflows for automated processes.
187187

188-
On projects with MFA enforcement enabled, you must use the API token to authenticate SSH access requests from automated accounts to bypass authentication workflows which require two-factor authentication.
188+
On projects with MFA enforcement enabled, you must use the API token to authenticate SSH access requests from automated accounts. The token allows automated processes to bypass authentication workflows which require two-factor authentication.
189189

190190
### Enable TFA for Cloud accounts
191191

@@ -319,5 +319,5 @@ To create an API token:
319319
[FreeOTP (Android)]: https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp
320320
[GAuth Authenticator (Firefox OS, desktop, others)]: https://github.com/gbraad/gauth
321321
[Google Authenticator (Android/iPhone/BlackBerry)]: https://support.google.com/accounts/answer/1066447?hl=en
322-
[MFA enforcement]: {{ site.baseurl }}/cloud/project/project-enable-mfa-enforcement.html
322+
[Enable MFA for SSH]: {{ site.baseurl }}/cloud/project/project-enable-mfa-enforcement.html
323323
[snapshots]: {{ site.baseurl }}/cloud/project/project-webint-snap.html

0 commit comments

Comments
 (0)