| | 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. |