74 lines
1.8 KiB
Nix
74 lines
1.8 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}: let
|
|
gcpHost = {
|
|
hostname,
|
|
project,
|
|
zone,
|
|
forwardAgent ? false,
|
|
}: {
|
|
proxyCommand = "${lib.getExe pkgs.python3} -S ${pkgs.google-cloud-sdk}/google-cloud-sdk/lib/gcloud.py compute start-iap-tunnel ${hostname} %p --listen-on-stdin --project ${project} --zone ${zone}";
|
|
forwardAgent = forwardAgent;
|
|
checkHostIP = false;
|
|
identitiesOnly = true;
|
|
extraOptions = {
|
|
StrictHostKeyChecking = "no";
|
|
ProxyUseFdpass = "no";
|
|
UserKnownHostsFile = "~/.ssh/google_compute_known_hosts";
|
|
};
|
|
};
|
|
in {
|
|
programs.ssh = {
|
|
enable = true;
|
|
|
|
compression = true;
|
|
addKeysToAgent = "ask";
|
|
|
|
matchBlocks = {
|
|
"cesium git.fainsin.bzh" = {
|
|
hostname = "fainsin.bzh";
|
|
user = "root";
|
|
port = 624;
|
|
};
|
|
"nicole" = {
|
|
hostname = "3.tcp.eu.ngrok.io";
|
|
user = "laurent";
|
|
port = 25077;
|
|
forwardAgent = true;
|
|
};
|
|
"dataverse51" = gcpHost {
|
|
hostname = "dataverse51";
|
|
project = "genie-training";
|
|
zone = "europe-west4-a";
|
|
forwardAgent = true;
|
|
};
|
|
"dataverse51-gpu" = gcpHost {
|
|
hostname = "dataverse51-gpu";
|
|
project = "genie-training";
|
|
zone = "europe-west4-a";
|
|
forwardAgent = true;
|
|
};
|
|
"laurent-dev-hdd" = gcpHost {
|
|
hostname = "laurent-dev-hdd";
|
|
project = "genie-training";
|
|
zone = "europe-west1-b";
|
|
forwardAgent = true;
|
|
};
|
|
"laurent-dev-l4" = gcpHost {
|
|
hostname = "laurent-dev-l4";
|
|
project = "genie-training";
|
|
zone = "europe-west1-b";
|
|
forwardAgent = true;
|
|
};
|
|
"laurent-dev-a100" = gcpHost {
|
|
hostname = "laurent-dev-a100";
|
|
project = "genie-training";
|
|
zone = "europe-west4-a";
|
|
forwardAgent = true;
|
|
};
|
|
};
|
|
};
|
|
}
|