feat(ooksphone): add ssh configuration to ooksphone
This commit is contained in:
parent
24abca0ffe
commit
7e351d9311
3 changed files with 39 additions and 1 deletions
|
|
@ -23,6 +23,7 @@
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
pfetch
|
pfetch
|
||||||
lazygit
|
lazygit
|
||||||
|
openssh
|
||||||
];
|
];
|
||||||
programs = {
|
programs = {
|
||||||
ssh.enable = true;
|
ssh.enable = true;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./theme.nix
|
./theme.nix
|
||||||
# ./ssh.nix
|
# ./openssh.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
37
system/hosts/ooksphone/modules/openssh.nix
Normal file
37
system/hosts/ooksphone/modules/openssh.nix
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
{ pkgs, config, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
sshdTmpDirectory = "${config.user.home}/sshd-tmp";
|
||||||
|
sshdDirectory = "${config.user.home}/sshd";
|
||||||
|
pathToPubKey = "...";
|
||||||
|
port = 8022;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
build.activation.sshd = ''
|
||||||
|
$DRY_RUN_CMD mkdir $VERBOSE_ARG --parents "${config.user.home}/.ssh"
|
||||||
|
$DRY_RUN_CMD cat ${pathToPubKey} > "${config.user.home}/.ssh/authorized_keys"
|
||||||
|
|
||||||
|
if [[ ! -d "${sshdDirectory}" ]]; then
|
||||||
|
$DRY_RUN_CMD rm $VERBOSE_ARG --recursive --force "${sshdTmpDirectory}"
|
||||||
|
$DRY_RUN_CMD mkdir $VERBOSE_ARG --parents "${sshdTmpDirectory}"
|
||||||
|
|
||||||
|
$VERBOSE_ECHO "Generating host keys..."
|
||||||
|
$DRY_RUN_CMD ${pkgs.openssh}/bin/ssh-keygen -t rsa -b 4096 -f "${sshdTmpDirectory}/ssh_host_rsa_key" -N ""
|
||||||
|
|
||||||
|
$VERBOSE_ECHO "Writing sshd_config..."
|
||||||
|
$DRY_RUN_CMD echo -e "HostKey ${sshdDirectory}/ssh_host_rsa_key\nPort ${toString port}\n" > "${sshdTmpDirectory}/sshd_config"
|
||||||
|
|
||||||
|
$DRY_RUN_CMD mv $VERBOSE_ARG "${sshdTmpDirectory}" "${sshdDirectory}"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
|
||||||
|
environment.packages = [
|
||||||
|
(pkgs.writeScriptBin "sshd-start" ''
|
||||||
|
#!${pkgs.runtimeShell}
|
||||||
|
|
||||||
|
echo "Starting sshd in non-daemonized way on port ${toString port}"
|
||||||
|
${pkgs.openssh}/bin/sshd -f "${sshdDirectory}/sshd_config" -D
|
||||||
|
'')
|
||||||
|
];
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue