25 lines
No EOL
821 B
Python
25 lines
No EOL
821 B
Python
from pathlib import Path
|
|
import logging
|
|
from util import run_op
|
|
|
|
class SshConfig:
|
|
|
|
def __init__(self):
|
|
self.config_path = Path("/etc/ssh/ssh_config")
|
|
self.target_values = {"PermitRootLogin": "No",
|
|
"PasswordAuthentication": "No",
|
|
"ChallengeResponseAuthentication": "No",
|
|
"UsePAM": "No"}
|
|
|
|
def sync_target_values(self):
|
|
logging.info(f"Updating ssh config in: {self.config_path}")
|
|
pass
|
|
|
|
def restart_service(self):
|
|
op = "systemctl restart ssh"
|
|
logging.info(f"Restarting ssh service: {op}")
|
|
run_op(op)
|
|
|
|
def copy_ssh_dir_to_user(self, username:str):
|
|
op = f"rsync --archive --chown={username}:{username} ~/.ssh /home/{username}"
|
|
|