--- layout: default navsection: userguide title: Debugging workflows - shell access ... {% comment %} Copyright (C) The Arvados Authors. All rights reserved. SPDX-License-Identifier: CC-BY-SA-3.0 {% endcomment %} {% include 'notebox_begin' %} To use this feature, your Arvados installation must be configured to allow container shell access. See "the install guide":{{site.baseurl}}/install/container-shell-access.html for more information. {% include 'notebox_end' %} The @arvados-client@ program can be used to connect to a container in a running workflow. It can be installed from packages (@apt install arvados-client@ or @yum install arvados-client@). The @arvados-client shell@ command provides an ssh connection into a running container. h2(#syntax). Syntax The @arvados-client shell@ tool has the following syntax: <notextile> <pre><code>~$ <span class="userinput">arvados-client shell -h</span> arvados-client shell: open an interactive shell on a running container. Usage: arvados-client shell [options] [username@]container-uuid [ssh-options] [remote-command [args...]] Options: -detach-keys string set detach key sequence, as in docker-attach(1) (default "ctrl-],ctrl-]") </code></pre> </notextile> The @arvados-client shell@ command calls the ssh binary on your system to make the connection. Everything after _[username@]container-uuid_ is passed through to your OpenSSH client. h2(#Examples). Examples Connect to a running container, using the container request UUID: <notextile> <pre><code>~$ <span class="userinput">arvados-client shell ce8i5-xvhdp-e6wnujfslyyqn4b</span> root@0f13dcd755fa:~# </code></pre> </notextile> The container UUID also works: <notextile> <pre><code>~$ <span class="userinput">arvados-client shell ce8i5-dz642-h1cl0sa62d4i430</span> root@0f13dcd755fa:~# </code></pre> </notextile> SSH port forwarding is supported: <notextile> <pre><code>~$ <span class="userinput">arvados-client shell ce8i5-dz642-h1cl0sa62d4i430 -L8888:localhost:80</span> root@0f13dcd755fa:~# nc -l -p 80 </code></pre> </notextile> And then, connecting to port 8888 locally: <notextile> <pre><code>~$ <span class="userinput">echo hello | nc localhost 8888</span> </code></pre> </notextile> Which appears on the other end: <notextile> <pre><code>~$ <span class="userinput">arvados-client shell ce8i5-dz642-h1cl0sa62d4i430 -L8888:localhost:80</span> root@0f13dcd755fa:~# nc -l -p 80 hello </code></pre> </notextile>