| 56 | |
| 57 | === Tips for working on a remote system |
| 58 | |
| 59 | ==== Handling sessions and disconnections |
| 60 | |
| 61 | To avoid losing your place if disconnected, use something like [https://github.com/tmux/tmux/wiki 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. |
| 62 | |
| 63 | Warning: On the consoles, when your reservation ends, all of your processes will be killed, including tmux sessions. |
| 64 | |
| 65 | ==== File management |
| 66 | To move files between your machine and the consoles, the simplest method is something like SCP. |
| 67 | For a graphical client, one example is !FileZilla, over scp or sftp. |
| 68 | |
| 69 | To move files to a node, this is normally a two step process. Local -> Console, Console -> node. |
| 70 | |
| 71 | 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. |
| 72 | |
| 73 | An example file is: |
| 74 | {{{ |
| 75 | Host node1.cosmos-lab.org |
| 76 | User root |
| 77 | ProxyJump console.cosmos-lab.org |
| 78 | }}} |
| 79 | |
| 80 | |
| 81 | For development on nodes, we recommend using git, and having both your local machine and the console or node pull from the repo. |