| 12 | | === SSH |
| 13 | | |
| 14 | | ==== Tips for working on a remote system |
| 15 | | |
| 16 | | ===== Handling sessions and disconnections |
| 17 | | |
| 18 | | To avoid losing your place if disconnected, use something like tmux. This will allow you to have multiple tabs, or windows, with a single ssh connection. In addition, you'll be able to reconnect to this set-up if your connection drops. |
| 19 | | |
| 20 | | Warning: On the consoles, when your reservation ends, all of your processes will be killed, including tmux sessions. |
| 21 | | |
| 22 | | ===== File management |
| 23 | | To move files between your machine and the consoles, the simplest method is something like SCP. |
| 24 | | For a graphical client, one example is !FileZilla, over scp or sftp. |
| 25 | | |
| 26 | | To move files to a node, this is normally a two step process. Local -> Console, Console -> node. |
| 27 | | |
| 28 | | By using a !ProxyJump directive in your local machine's `~/.ssh/config` file, you can do this in "1" step, but this is an advanced method. When accessing the node, your ssh client with automatically proxy the connection via the console. |
| 29 | | |
| 30 | | An example file is: |
| 31 | | {{{ |
| 32 | | Host node1.cosmos-lab.org |
| 33 | | User root |
| 34 | | ProxyJump console.cosmos-lab.org |
| 35 | | }}} |
| 36 | | |
| 37 | | |
| 38 | | For development on nodes, we recommend using git, and having both your local machine and the console or node pull from the repo. |