vps1: move ssh config to a submodule, enable agent

This commit is contained in:
Lgmrszd 2024-06-12 02:03:07 +03:00
parent 4d4f1b6464
commit 9475288da7
No known key found for this signature in database
GPG key ID: 9396B8BA6FBB14DE
2 changed files with 30 additions and 17 deletions

28
hosts/vps1/config/ssh.nix Normal file
View file

@ -0,0 +1,28 @@
{ pkgs, config, data, ... }:
let
gitSSHPort = data.services.git.sshPort;
in
{
services.openssh = {
enable = true;
ports = [ (if data ? sshPort then data.sshPort else 37163) gitSSHPort ];
settings.PermitRootLogin = "no";
settings.PasswordAuthentication = false;
extraConfig = ''
Match LocalPort ${toString gitSSHPort}
AllowUsers forgejo
'';
};
programs.ssh.startAgent = true;
services.endlessh-go = {
enable = true;
openFirewall = true;
port = 22;
};
users.users.lgm.openssh.authorizedKeys.keys = [
''sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIHFPA2RhqZIVCLwYuEUDQyOnJ4g1R6IfQyhGqZ2Cvvu+AAAABHNzaDo= lgm@lgm-nixos''
''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHUawqrjSPXTwQ4ZY2rw9o+XgmK7TbH0QEIXQPh8gT0J lgm@lgm-nixos''
];
}

View file

@ -16,6 +16,7 @@ in
{ {
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
./config/ssh.nix
./services/postgres.nix ./services/postgres.nix
./services/authentik.nix ./services/authentik.nix
./services/git.nix ./services/git.nix
@ -39,27 +40,12 @@ in
networking.hostName = "lgm-vps1"; networking.hostName = "lgm-vps1";
networking.domain = "contaboserver.net"; networking.domain = "contaboserver.net";
networking.firewall.allowedTCPPorts = [ 80 443 ]; networking.firewall.allowedTCPPorts = [ 80 443 ];
services.openssh = {
enable = true;
ports = [ (if data ? sshPort then data.sshPort else 37163) gitSSHPort ];
settings.PermitRootLogin = "no";
settings.PasswordAuthentication = false;
extraConfig = ''
Match LocalPort ${toString gitSSHPort}
AllowUsers forgejo
'';
};
networking.nat.enable = true; networking.nat.enable = true;
networking.nat.internalInterfaces = ["ve-+"]; networking.nat.internalInterfaces = ["ve-+"];
networking.nat.externalInterface = "eth0"; networking.nat.externalInterface = "eth0";
services.endlessh-go = {
enable = true;
openFirewall = true;
port = 22;
};
services.vscode-server = { services.vscode-server = {
enable = true; enable = true;
nodejsPackage = pkgs.nodejs_18; nodejsPackage = pkgs.nodejs_18;
@ -170,7 +156,6 @@ in
config.services.openvscode-server.group config.services.openvscode-server.group
]; ];
shell = pkgs.fish; shell = pkgs.fish;
openssh.authorizedKeys.keys = [''sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIHFPA2RhqZIVCLwYuEUDQyOnJ4g1R6IfQyhGqZ2Cvvu+AAAABHNzaDo= lgm@lgm-nixos''];
}; };
system.stateVersion = "23.11"; system.stateVersion = "23.11";