mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-07-22 11:59:33 +00:00
ssh: Enable backup/restore
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
This commit is contained in:
parent
6c565f8678
commit
1eacbf1be7
43
functional_tests/features/ssh.feature
Normal file
43
functional_tests/features/ssh.feature
Normal file
@ -0,0 +1,43 @@
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
@apps @ssh @backups
|
||||
Feature: Secure Shell Server
|
||||
Run secure shell server.
|
||||
|
||||
Background:
|
||||
Given I'm a logged in user
|
||||
Given the ssh application is installed
|
||||
|
||||
Scenario: Enable ssh application
|
||||
Given the ssh application is disabled
|
||||
When I enable the ssh application
|
||||
Then the ssh service should be running
|
||||
|
||||
Scenario: Disable ssh application
|
||||
Given the ssh application is enabled
|
||||
When I disable the ssh application
|
||||
Then the ssh service should not be running
|
||||
|
||||
# TODO: Improve this to actually check that earlier ssh certificate has been
|
||||
# restored.
|
||||
Scenario: Backup and restore ssh
|
||||
Given the ssh application is enabled
|
||||
When I create a backup of the ssh app data
|
||||
And I export the ssh app data backup
|
||||
And I restore the ssh app data backup
|
||||
Then the ssh service should be running
|
||||
@ -28,7 +28,7 @@ from .service import wait_for_page_update
|
||||
sys_modules = [
|
||||
'avahi', 'backups', 'bind', 'cockpit', 'config', 'datetime', 'diagnostics',
|
||||
'dynamicdns', 'firewall', 'letsencrypt', 'monkeysphere', 'names',
|
||||
'networks', 'pagekite', 'power', 'security', 'snapshot', 'upgrades',
|
||||
'networks', 'pagekite', 'power', 'security', 'snapshot', 'ssh', 'upgrades',
|
||||
'users'
|
||||
]
|
||||
|
||||
|
||||
@ -25,6 +25,8 @@ from plinth import service as service_module
|
||||
from plinth.menu import main_menu
|
||||
from plinth.views import ServiceView
|
||||
|
||||
from .manifest import backup
|
||||
|
||||
version = 1
|
||||
|
||||
is_essential = True
|
||||
|
||||
34
plinth/modules/ssh/manifest.py
Normal file
34
plinth/modules/ssh/manifest.py
Normal file
@ -0,0 +1,34 @@
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
"""
|
||||
Application manifest for ssh.
|
||||
"""
|
||||
|
||||
from plinth.modules.backups.api import validate as validate_backup
|
||||
|
||||
backup = validate_backup({
|
||||
'secrets': {
|
||||
'files': [
|
||||
'/etc/ssh/ssh_host_ecdsa_key',
|
||||
'/etc/ssh/ssh_host_ecdsa_key.pub',
|
||||
'/etc/ssh/ssh_host_ed25519_key',
|
||||
'/etc/ssh/ssh_host_ed25519_key.pub',
|
||||
'/etc/ssh/ssh_host_rsa_key',
|
||||
'/etc/ssh/ssh_host_rsa_key.pub'
|
||||
]
|
||||
}
|
||||
})
|
||||
Loading…
x
Reference in New Issue
Block a user