-<div>
-<h4>Add / Delete SSH Keys</h4>
+<div class="panel panel-default">
+ <div class="panel-heading">
+ <div class="pull-right">
+ <%= link_to raw('<i class="fa fa-plus"></i>' " Add new SSH key"), add_ssh_key_popup_url,
+ {class: 'btn btn-xs btn-primary', :remote => true, 'data-toggle' => "modal",
+ 'data-target' => '#add-ssh-key-modal-window'} %>
+ </div>
+ <h4 class="panel-title">
+ <a data-parent="#arv-adv-accordion" href="#manage_ssh_keys">
+ SSH Keys
+ </a>
+ </h4>
+ </div>
+
+<div id="manage_ssh_keys" class="panel-body">
<% if !@my_ssh_keys.any? %>
<p> You have not yet set up an SSH public key for use with Arvados. </p>
- <p> <%= link_to "Click here to learn about SSH keys in Arvados.",
- "#{Rails.configuration.arvados_docsite}/user/getting_started/ssh-access-unix.html",
- style: "font-weight: bold",
- target: "_blank" %> </p>
+ <p> <%= link_to "Click here",
+ "#{Rails.configuration.arvados_docsite}/user/getting_started/ssh-access-unix.html",
+ style: "font-weight: bold",
+ target: "_blank" %> to learn about SSH keys in Arvados.
+ </p>
<p> When you have an SSH key you would like to use, add it using the <b>Add</b> button. </p>
- <% end %>
-
- <table class="table virtual-machines-table">
- <colgroup>
- <col style="width: 95%" />
- <col style="width: 5%" />
- </colgroup>
- <tbody>
- <% @my_ssh_keys.andand.each do |key| %>
+ <% else %>
+ <table class="table manage-ssh-keys-table">
+ <colgroup>
+ <col style="width: 35%" />
+ <col style="width: 55%" />
+ <col style="width: 10%" />
+ </colgroup>
+ <thead>
<tr>
- <td style="word-break:break-all;">
- <%= key[:public_key] %>
- </td>
- <td>
- <%= link_to(authorized_key_path(id: key[:uuid]), method: 'delete', class: 'btn btn-sm', data: {confirm: "Really delete key"}) do %>
- <i class="fa fa-fw fa-trash-o"></i>
- <% end %>
- </td>
+ <th> Name </th>
+ <th> Key Fingerprint </th>
+ <th> </th>
</tr>
- <% end %>
- </tbody>
- </table>
+ </thead>
+ <tbody>
+ <% @my_ssh_keys.andand.each do |key| %>
+ <tr style="word-break:break-all;">
+ <td>
+ <%= key[:name] %>
+ </td>
+ <td style="word-break:break-all;">
+ <% if key[:public_key] && key[:public_key].size > 0 %>
+ <div>
+ <span title="<%=key[:public_key]%>"> <%=
+ begin
+ SSHKey.fingerprint key[:public_key]
+ rescue
+ "INVALID KEY: " + key[:public_key]
+ end
+ %> </span>
+ </div>
+ <% else %>
+ <%= key[:public_key] %>
+ <% end %>
+ </td>
+ <td>
+ <%= link_to(authorized_key_path(id: key[:uuid]), method: :delete, class: 'btn btn-sm', data: {confirm: "Really delete key?"}) do %>
+ <i class="fa fa-fw fa-trash-o"></i>
+ <% end %>
+ </td>
+ </tr>
+ <% end %>
+ </tbody>
+ </table>
+ <% end %>
</div>
-
-<hr>
-
-<div>
-<h4>Setting up SSH access</h4>
-<p>
-Sample <code>~/.ssh/config</code>:
-</p>
-
-<pre>
-Host *.arvados
- ProxyCommand ssh -p2222 turnout@switchyard.<%= current_api_host || 'xyzzy.arvadosapi.com' %> -x -a $SSH_PROXY_FLAGS %h
-<% if @my_vm_logins.andand.first %>
- User <%= @my_vm_logins[@my_vm_logins.andand.keys.first].andand.first %>
-<% end %>
-</pre>
-
-<p>
-Sample login command:
-</p>
-
-<pre>
-ssh <%= @my_virtual_machines.first.andand.hostname.andand.sub('.'+current_api_host,'') or 'vm-hostname' %>.arvados
-</pre>
-
-<p>
- See also:
- <%= link_to raw('Arvados Docs → User Guide → SSH access'),
- "#{Rails.configuration.arvados_docsite}/user/getting_started/ssh-access-unix.html",
- target: "_blank"%>.
-</p>
</div>