Skip to content

Commit 835e926

Browse files
authored
Merge pull request #316 from Exabyte-io/docs/SOF-7548
SOF-7548: update ssh instructions for windows
2 parents 21a4116 + 73c91ba commit 835e926

File tree

5 files changed

+129
-48
lines changed

5 files changed

+129
-48
lines changed
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading

lang/en/docs/remote-connection/actions/transfer-files-scp.md

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,41 @@
11
# Transfer Files via SCP
22

3-
[SCP file transfers](../../remote-connection/ssh.md#transfer-files-with-scp) can be performed directly via any terminal instance opened in a local user machine running a Unix-based operating system, through the following commands (the user should replace the text inside braces below with the corresponding names/paths).
3+
[SCP file transfers](../../remote-connection/ssh.md#transfer-files-with-scp) can
4+
be performed directly via any terminal instance opened in a local user machine
5+
with OpenSSH client installed, through the following commands (the user should
6+
replace the text inside braces below with the corresponding names/paths).
47

5-
1. To transfer local files **to** exabyte.io remote server (called "bohr"):
8+
1. To transfer local files **to** mat3ra.com remote server (called "bohr"):
69

710
```bash
811
scp -i <path to private_key> <path to local file> <username>@login.mat3ra.com:<path inside login home>
912
```
1013

11-
2. To transfer remote files **from** exabyte.io server to local machine:
14+
2. To transfer remote files **from** mat3ra.com server to local machine:
1215

1316
```
1417
scp -i <path to private_key> <username>@login.mat3ra.com:<path inside login home> <path to local file>
1518
```
1619

1720
## Examples
1821

19-
For example, let us assume that user `steve` would like to transfer a text file called `example.txt` under his local home directory to the remote "bohr" server, where the final destination is his personal `data` folder in the [Cluster Home](../../infrastructure/clusters/directories.md) directory for "cluster-001".
20-
21-
The command that he needs to enter to perform this file transfer, after opening a terminal instance on his own local machine, would be the following (assuming his private [ssh key](../ssh.md) file is stored locally under his home folder).
22+
For example, let us assume that user `steve` would like to transfer a text file
23+
called `example.txt` under his local home directory to the remote "bohr" server,
24+
where the final destination is his personal `data` folder in the
25+
[Cluster Home](../../infrastructure/clusters/directories.md) directory for
26+
"cluster-001".
27+
28+
The command that he needs to enter to perform this file transfer, after opening
29+
a terminal instance on his own local machine, would be the following (assuming
30+
his private [ssh key](../ssh.md) file is stored locally under his home folder).
2231

2332
```bash
2433
scp -i ~/ssh_key ~/example.txt [email protected]:cluster-001/data
2534
```
2635

27-
The converse operation, to retrieve the remotely stored `example.txt` file and re-copy it under his local home directory, would consist in the following command.
36+
The converse operation, to retrieve the remotely stored `example.txt` file and
37+
re-copy it under his local home directory, would consist in the following
38+
command.
2839

2940
```
3041
scp -i ~/ssh_key [email protected]:cluster-001/data/example.txt ~/

lang/en/docs/remote-connection/ssh.md

Lines changed: 104 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,96 @@
11
# Command Line Interface via SSH
22

3-
The user can connect to the [Command Line Interface](../cli/overview.md) (CLI) of our platform using an **external SSH terminal client** under any Operating System (OS), as an alternative to the [Web Terminal](web-terminal.md).
4-
5-
We use **SSH keys** [^1] as a way to identify users and trusted computers during command line sessions. Keys provide improved security, however they need to be set properly before use. The steps included in the present page will guide the user through generating SSH keys and adding them to the account being employed.
6-
7-
Experienced users who are already familiar with how SSH clients operate under their preferred Operating System can navigate directly to the [Upload SSH key](#upload-ssh-key) section of the present page.
8-
9-
## OS-specific SSH Clients
10-
11-
We particularly recommend the following SSH clients for each OS.
12-
13-
- **Putty** [^2], a widespread SSH client for Windows.
14-
- **OpenSSH** [^3], the standard protocol in Unix-based OSs (both Linux and Mac OS distributions) for connecting through SSH via the terminal.
3+
Users can connect to the [Command Line Interface](../cli/overview.md) (CLI)
4+
of our platform using an **SSH terminal client** under any Operating System
5+
(OS), as an alternative to the [Web Terminal](web-terminal.md).
6+
7+
We use **SSH keys** [^1] to identify users and trusted computers during command
8+
line sessions. Keys provide improved security, but they must be properly set up
9+
before use. The steps on this page will guide you through generating SSH keys
10+
and adding them to your account.
11+
12+
Experienced users who are already familiar with how SSH clients operate under
13+
their preferred Operating System can navigate directly to the
14+
[Upload SSH key](#upload-ssh-key) section below.
15+
16+
## SSH Client
17+
18+
Make sure you have a SSH client installed in your computer. We particularly
19+
recommend the following SSH clients.
20+
21+
- **OpenSSH**[^2]: the standard protocol in Unix-based OSs (both Linux and
22+
macOS distributions) for connecting through SSH via the terminal. <br/>Starting
23+
from Windows version 10, OpenSSH client is included as a Windows Feature. Please
24+
expand below section if OpenSSH is not enabled on your Windows computer. Once
25+
enabled, both `ssh` and `scp` commands should be available via both
26+
**PowerShell** and **Command Prompt**.
27+
<details markdown="1">
28+
<summary>
29+
How to enable OpenSSH on Windows 10?
30+
</summary>
31+
1. Click on the Windows **Start menu** and search for **Apps and Features**.
32+
Click on **Apps and Features** on the sidebar, then click **Optional
33+
Features**.
34+
![Windows 10 Apps and Features](../images/remote-connection/win10apps.webp)
35+
2. Scroll down the list to check if **OpenSSH Client** is listed. Otherwise,
36+
click the plus sign next to **Add a feature**, select **OpenSSH Client**,
37+
and click **Install**.
38+
![Windows 10 Apps and Features](../images/remote-connection/win10features.png){:style="max-width: 400px !important;"}
39+
</details>
40+
41+
- **Putty**[^3]: a widespread SSH client for Windows users, can be used as an
42+
alternative to OpenSSH.
1543

1644
## Generate SSH Keys
1745

18-
As introduced previously, SSH keys are necessary to connect to the CLI using the credentials for the account under consideration.
46+
As introduced previously, SSH keys are necessary to connect to the CLI using the
47+
credentials for the account under consideration. You can create a RSA key of
48+
size 4096 bits with the following command:
1949

20-
External tutorials are available on how to generate such keys for each of the Putty [^4] and OpenSSH [^5] clients.
50+
```bash
51+
ssh-keygen -t rsa -b 4096 -C "[email protected]"
52+
```
53+
where `-C` flag refers to comment, which could be any identifier. You will be
54+
prompted to specify a file to save the key. Press Enter to accept the default
55+
location. When prompted, enter a secure passphrase for your key. This step is
56+
optional but recommended for added security. After keys are generated, there
57+
will be two files `id_rsa` and `id_rsa.pub`. Please upload the public key file
58+
`id_rsa.pub` as described below.
59+
60+
Please refer to the external tutorials on the advanced usage of OpenSSH [^4] and
61+
Putty [^5] clients.
2162

2263
## Upload SSH Key
2364

24-
After generating the keys, they need to be uploaded to our platform and associated with the user's account. This effectively establishes a **secure link** between the external SSH client and the corresponding Exabyte account.
65+
After generating the keys, the public key need to be uploaded to our platform
66+
and associated with the user's account. This effectively establishes a
67+
**secure link** between the external SSH client and the corresponding Mat3ra
68+
account.
69+
70+
We explain how to upload the SSH keys to our platform in a
71+
[separate section](../accounts/ui/preferences/ssh.md) of the documentation.
2572

26-
We explain how to upload the SSH keys to our platform in a [separate section](../accounts/ui/preferences/ssh.md) of the documentation.
27-
2873
!!!warning "Privacy of SSH keys"
29-
SSH keys are **private** and are meant to be used to identify exclusively the user with our platform. Any other user logged in with such private keys would automatically have access to the account's data and allocation, and because of this they should not be shared with anyone else.
74+
SSH keys are **private** and are meant to be used to identify exclusively
75+
the user with our platform. Any other user logged in with such private keys
76+
would automatically have access to the account's data and allocation, and
77+
because of this they should not be shared with anyone else.
3078

31-
## Connect to Server
79+
## Connecting to Mat3ra Server
3280

33-
Once the secure SSH link is established via the SSH keys, the remote Exabyte server can be accessed as follows (the user should replace the text inside braces below with the corresponding names/paths).
81+
Once the secure SSH link is established via the SSH keys, the remote Mat3ra
82+
server can be accessed as follows (the user should replace the text inside
83+
braces below with the corresponding names/paths).
3484

3585
!!!info "Name of remote server"
36-
Our Exabyte server for accepting remote connections is referred to under the alias of **"bohr"**, and is accessible via the corresponding address `login.mat3ra.com`.
86+
Our Mat3ra server for accepting remote connections is referred to under the
87+
alias of **"bohr"**, and is accessible via the corresponding address
88+
`login.mat3ra.com`.
3789

38-
### OpenSSH for Unix
90+
### SSH using OpenSSH
3991

40-
1. The user should first change the permissions on the private key to be accessible to him/her only.
92+
1. The user should first change the permissions on the private key to be
93+
accessible to him/her only.
4194

4295
```
4396
chmod 400 {path/to/your/private_key}
@@ -46,46 +99,57 @@ Once the secure SSH link is established via the SSH keys, the remote Exabyte ser
4699
2. At the command prompt, the user should then enter the following command.
47100

48101
```
49-
ssh -i {path/to/your/private_key} {exabyte.io_username}@login.mat3ra.com
102+
ssh -i {path/to/your/private_key} {mat3ra.com_username}@login.mat3ra.com
50103
```
51104
52105
### Putty for Windows
53-
54-
Instructions on how to operate Putty to connect to our remote server can be found in Ref. [^6]. The name of the server to be used in this case is the same as before, namely `login.mat3ra.com`.
55-
106+
107+
Instructions on how to operate Putty to connect to our remote server can be
108+
found in Ref. [^6]. The name of the server to be used in this case is the same
109+
as before, namely `login.mat3ra.com`.
110+
56111
### Enter the CLI
57112
58-
Following successful SSH connection, the user is presented with the [CLI of our platform](../cli/overview.md).
113+
Following successful SSH connection, the user is presented with the
114+
[CLI of our platform](../cli/overview.md).
59115
60-
Some useful instructions are already contained in the CLI **splash welcome screen** greeting the user at the moment of login. A copy of this welcome screen is reproduced below.
116+
Some useful instructions are already contained in the CLI
117+
**splash welcome screen** greeting the user at the moment of login. A copy of
118+
this welcome screen is reproduced below.
61119
62120
![CLI Welcome Screen](../images/remote-connection/CLI-Welcome-Screen.png "CLI Welcome Screen")
63121
64122
## Transfer Files with SCP
65123
66-
The user can also transfer files back and forth from his/her local hard drives to the folders on the remote Exabyte server. For this purpose, we recommend the **SCP file transfer protocol** [^7], which is also based on SSH.
67-
124+
The user can also transfer files back and forth from his/her local hard drives
125+
to the folders on the remote Exabyte server. For this purpose, we recommend the
126+
**SCP file transfer protocol** [^7], which is also based on SSH. Detailed
127+
instructions on how to transfer files using `scp` is available
128+
[in a separate page](actions/transfer-files-scp.md).
129+
68130
### Windows Instructions
69131
70-
On Windows, we recommend the **WinSCP** graphical user interface program [^8]. A tutorial demonstrating how to operate it can be retrieved in Ref. [^9].
132+
Once OpenSSH client is enabled on [Windows](#ssh-client),
133+
[scp](#transfer-files-with-scp) command should be available via Windows
134+
**PowerShell** and **Command Prompt** terminals.
71135
72-
When using WinSCP, one would need to load the private key through its interface before connecting. Explanations on how to do so can be found in Ref. [^10].
73-
74-
### Unix Instructions
136+
Alternatively, you may use **WinSCP** graphical user interface program [^8]. A
137+
tutorial demonstrating how to operate it can be retrieved in Ref. [^9].
75138
76-
The instructions for Unix-based operating systems can be found [in a separate page](actions/transfer-files-scp.md).
139+
When using WinSCP, one would need to load the private key through its interface
140+
before connecting. Explanations on how to do so can be found in Ref. [^10].
77141
78142
## Links to Clients Documentation
79143
80144
[^1]: [SSH keys, Website](https://wiki.archlinux.org/index.php/SSH_keys)
81145
82-
[^2]: [Putty Homepage, Website](https://www.putty.org/)
146+
[^2]: [OpenSSH Homepage, Website](https://www.openssh.com/)
83147
84-
[^3]: [OpenSSH Homepage, Website](https://www.openssh.com/)
148+
[^3]: [Putty Homepage, Website](https://www.putty.org/)
85149
86-
[^4]: [Puttygen - Key Generator for Putty on Windows, Website](https://www.ssh.com/ssh/putty/windows/puttygen)
150+
[^4]: [SSH-keygen - Generate a New SSH Key, Website](https://www.ssh.com/ssh/keygen/)
87151
88-
[^5]: [SSH-keygen - Generate a New SSH Key, Website](https://www.ssh.com/ssh/keygen/)
152+
[^5]: [Puttygen - Key Generator for Putty on Windows, Website](https://www.ssh.com/ssh/putty/windows/puttygen)
89153
90154
[^6]: [How to Use Putty on Windows, Website](https://www.ssh.com/ssh/putty/windows/)
91155

mkdocs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ extra_javascript:
3030
copyright: <a target="_blank" href="https://mat3ra.com">Exabyte Inc</a>. All rights reserved. | <a target="_blank" href="https://platform.mat3ra.com">Back to platform</a>
3131

3232
extra:
33-
version: "2024.12.19"
33+
version: "2025.1.23"
3434
preload_javascript:
3535
- /extra/js/preload_hotjar.js
3636
- /extra/js/preload.js

0 commit comments

Comments
 (0)