For more information see <%= link_to raw('Arvados Docs → User Guide → SSH access'), "#{Rails.configuration.arvados_docsite}/user/getting_started/ssh-access-unix.html", target: "_blank"%>. <% if @my_virtual_machines.any? or true %> A sample ~/.ssh/config entry is provided below. <% end %>

<% if !@my_virtual_machines.any? %>

You do not have access to any virtual machines. Some Arvados features require using the command line. You may request access to a hosted virtual machine with the command line shell.

<%= link_to({ action: 'request_shell_access', controller: 'users', id: current_user.uuid }, method: :post, remote: true, class: 'btn btn-xs btn-primary', data: { disable_with: "Sending request...", on_error_hide: '.no_shell_access .alert-success', on_error_show: '.no_shell_access .alert-danger', on_error_write: '.no_shell_access .alert-danger .error-text', on_success_hide: '.no_shell_access .alert-danger', }) do %> Send request for shell access <% end %>
<% else %> <% @my_virtual_machines.andand.each do |vm| %> <% end %>
Host name Login name Command line
<%= vm[:hostname] %> <%= @my_vm_logins[vm[:uuid]].andand.compact.andand.join(", ") %> <% if @my_vm_logins[vm[:uuid]] %> <% @my_vm_logins[vm[:uuid]].each do |login| %> ssh <%= login %>@<%= vm[:hostname] %>.arvados <% end %> <% end %>

~/.ssh/config:

Host *.arvados
      TCPKeepAlive yes
      ServerAliveInterval 60
      ProxyCommand ssh -p2222 turnout@switchyard.<%= current_api_host || 'xyzzy.arvadosapi.com' %> -x -a $SSH_PROXY_FLAGS %h
    
<% end %>