---
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 'tutorial_expectations' %}
{% 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 @dnf 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:
~$ arvados-client shell -h
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-]")
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:
~$ arvados-client shell ce8i5-xvhdp-e6wnujfslyyqn4b
root@0f13dcd755fa:~#
The container UUID also works:
~$ arvados-client shell ce8i5-dz642-h1cl0sa62d4i430
root@0f13dcd755fa:~#
SSH port forwarding is supported:
~$ arvados-client shell ce8i5-dz642-h1cl0sa62d4i430 -L8888:localhost:80
root@0f13dcd755fa:~# nc -l -p 80
And then, connecting to port 8888 locally:
~$ echo hello | nc localhost 8888
Which appears on the other end:
~$ arvados-client shell ce8i5-dz642-h1cl0sa62d4i430 -L8888:localhost:80
root@0f13dcd755fa:~# nc -l -p 80
hello