You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This will run the command `echo test` using the `ubuntu:latest` docker image and default settings.
164
-
See `coman cscs job submit -h` for more options.
165
+
See `coman cscs job submit -h` for more options. This will also automatically set up an ssh connection for
166
+
the job (use `--no-ssh` to prevent this), see the [SSH](#ssh) section for more details.
165
167
166
168
You can list your jobs using
167
169
@@ -270,7 +272,7 @@ name = "myproject" # the name of the project, used to generate job names
270
272
current_system = "daint"# what system/cluster to execute commands on
271
273
current_platform = "HPC"# what platform to execute commands on (valid: HPC, ML or CW)
272
274
account = "..."# the project/group account to use on cscs
273
-
275
+
ssh_key = "path/to/ssh/public/key.pub"# To use a different public key for SSH connections, other than the default auto-detected id_dsa, id_rsa or id_ecdsa
274
276
275
277
image = "ubuntu"# default docker image to use
276
278
@@ -336,6 +338,27 @@ coman config get cscs.current_system
336
338
coman config set cscs.current_system "daint"
337
339
```
338
340
341
+
### SSH
342
+
343
+
`coman cscs job submit` will automatically create an SSH connection for the job. It will search for an
344
+
`id_dsa.pub`, `id_rsa.pub` or `id_ecdsa.pub` file in your `.ssh` folder and use that for the connection,
345
+
unless you specify another key using the `--ssh-key` argument or the `cscs.ssh_key` setting in the config file.
346
+
347
+
Creating the ssh connection involves several steps, all handled by coman:
348
+
349
+
- Uploading your ssh public key into the remote coman project folder
350
+
- Setting the public key in the [CSCS SSH hook](https://docs.cscs.ch/software/container-engine/resource-hook/#ssh-hook)
351
+
- Uploading a squash file containing the coman executable to the remote coman project folder
352
+
- Mounting the coman squash file into the container so the coman executable is available in the container
353
+
- Creating an [iroh](https://github.com/n0-computer/iroh) secret key to use for the [QUIC tunnel](https://en.wikipedia.org/wiki/QUIC)
354
+
- Using the coman executable as the entrypoint of the container (wrapping the original command), which
355
+
allows coman to create an iroh/QUIC tunnel for remote connections, as well as properly handling pid1
356
+
process signals in the container
357
+
- Creating a local SSH config in the coman data dir (`~/.local/share/coman` by default) containing connection
358
+
information and the correct iroh proxy command
359
+
- Including the SSH config in `.ssh/config` so it's accessible in other tools
360
+
- Garbage collecting old SSH connections for jobs that are not running anymore
0 commit comments