nix-configuration/config/nixpkgs/ssh.nix
2022-09-27 17:29:38 -05:00

69 lines
2.3 KiB
Nix

{ config, pkgs, ... }:
let
server = ({ hostname, user ? "asonix", port ? 22, proxyJump ? true }: {
hostname = hostname;
user = user;
identitiesOnly = true;
identityFile = "/home/asonix/.ssh/kube-rsa";
port = port;
proxyJump = if proxyJump then "router" else null;
});
in {
programs.ssh = {
enable = true;
matchBlocks = {
"github.com" = {
hostname = "github.com";
user = "git";
identitiesOnly = true;
identityFile = "/home/asonix/.ssh/github";
port = 22;
};
"gitlab.com" = {
hostname = "gitlab.com";
user = "git";
identitiesOnly = true;
identityFile = "/home/asonix/.ssh/gitlab";
port = 22;
};
"git.asonix.dog" = {
hostname = "git.asonix.dog";
user = "git";
identitiesOnly = true;
identityFile = "/home/asonix/.ssh/gitea-key";
port = 22;
};
"router" = server {
hostname = "ssh.asonix.dog";
port = 3128;
proxyJump = false;
};
"mc1" = server { hostname = "192.168.20.100"; };
"build2" = server { hostname = "192.168.20.99"; };
"bluestar" = server { hostname = "192.168.20.36"; };
"nextcloud" = server { hostname = "192.168.20.21"; };
"lionheart" = server { hostname = "192.168.5.6"; };
"redtail" = server { hostname = "192.168.20.23"; };
"redtail2" = server { hostname = "192.168.20.24"; };
"whitestorm" = server { hostname = "192.168.20.11"; };
"whitestorm2" = server { hostname = "192.168.20.26"; };
"gluster2" = server { hostname = "192.168.20.19"; user = "kube"; };
"gluster3" = server { hostname = "192.168.20.25"; };
"gluster4" = server { hostname = "192.168.20.33"; };
"k8s1" = server { hostname = "192.168.20.13"; user = "ubuntu"; };
"k8s2" = server { hostname = "192.168.20.16"; user = "ubuntu"; };
"k8s3" = server { hostname = "192.168.20.14"; user = "ubuntu"; };
"k8s4" = server { hostname = "192.168.20.18"; user = "ubuntu"; };
"k8s5" = server { hostname = "192.168.20.15"; user = "ubuntu"; };
"k8s6" = server { hostname = "192.168.20.20"; };
"k8s7" = server { hostname = "192.168.20.10"; };
"k8s8" = server { hostname = "192.168.20.27"; };
"k8s9" = server { hostname = "192.168.20.22"; };
"k8s10" = server { hostname = "192.168.20.34"; };
"q64b1" = server { hostname = "192.168.20.116"; };
};
};
}