FreedomBox/plinth/modules/backups/templates/verify_ssh_hostkey.html
Sunil Mohan Adapa 8e341a6c3b
backups: Simplify SSH fingerprint verification command
There is no need to access the private key of an SSH host to get it's public key
fingerprint. Use public key file instead. No need for 'sudo' privileges because
of this any non-admin users can also do this verification.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Joseph Nuthalapati <njoseph@riseup.net>
2019-11-08 22:42:42 +05:30

80 lines
2.5 KiB
HTML

{% extends "base.html" %}
{% comment %}
#
# This file is part of FreedomBox.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
{% endcomment %}
{% load bootstrap %}
{% load i18n %}
{% block content %}
<h3>{{ title }}</h3>
<form class="form" method="post">
{% csrf_token %}
{% if form.ssh_public_key|length_is:"0" %}
<p>
{% blocktrans trimmed %}
Could not reach SSH host {{ hostname }}. Please verify that the host
is up and accepting connections.
{% endblocktrans %}
</p>
{% if form.keyscan_error %}
<pre class="alert alert-danger">{{ form.keyscan_error }}</pre>
{% endif %}
{% else %}
<p>
{% blocktrans trimmed %}
The authenticity of SSH host {{ hostname }} could not be established.
The host advertises the following SSH public keys. Please verify any
one of them.
{% endblocktrans %}
</p>
<section>
<p>
<a class="btn btn-default collapsed collapsible-button"
data-toggle="collapse" href="#help" aria-expanded="false">
<span class="fa fa-chevron-right fa-fw" aria-hidden="true"></span>
{% trans "How to verify?" %}
</a>
</p>
<div class="collapse panel-body" id="help">
<p>
{% blocktrans trimmed %}
Run the following command on the SSH host machine. The output
should match one of the provided options. You can also use dsa,
ecdsa, ed25519 etc. instead of rsa, by choosing the corresponding
file.
{% endblocktrans %}
</p>
<p>
<code>ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub</code>
</p>
</div>
</section>
{{ form|bootstrap }}
<input type="submit" class="btn btn-primary" value="{% trans 'Verify Host' %}"/>
{% endif %}
</form>
{% endblock %}