diff options
Diffstat (limited to 'accounts/gkleen@sif/ssh-hosts.nix')
-rw-r--r-- | accounts/gkleen@sif/ssh-hosts.nix | 85 |
1 files changed, 51 insertions, 34 deletions
diff --git a/accounts/gkleen@sif/ssh-hosts.nix b/accounts/gkleen@sif/ssh-hosts.nix index 107f1e76..a250509b 100644 --- a/accounts/gkleen@sif/ssh-hosts.nix +++ b/accounts/gkleen@sif/ssh-hosts.nix | |||
@@ -1,5 +1,12 @@ | |||
1 | { pkgs, ... }: | 1 | { lib, pkgs, ... }: |
2 | { | 2 | let |
3 | autosshProxyPorts = { | ||
4 | "ssh.math.lmu.de" = 8118; | ||
5 | "mathw0h" = 8122; | ||
6 | "mathw0e" = 8124; | ||
7 | }; | ||
8 | autosshProxy = host: "${lib.getExe pkgs.socat} - SOCKS4A:127.0.0.1:%h:%p,socksport=${toString autosshProxyPorts.${host}}"; | ||
9 | in { | ||
3 | "git.ymir" = | 10 | "git.ymir" = |
4 | { hostname = "ymir.yggdrasil.li"; | 11 | { hostname = "ymir.yggdrasil.li"; |
5 | user = "gitolite"; | 12 | user = "gitolite"; |
@@ -290,15 +297,15 @@ | |||
290 | }; | 297 | }; |
291 | "mathw0d" = | 298 | "mathw0d" = |
292 | { hostname = "mathw0d.mathinst.loc"; | 299 | { hostname = "mathw0d.mathinst.loc"; |
293 | proxyJump = "mathw0h"; | 300 | proxyCommand = autosshProxy "mathw0h"; |
294 | }; | 301 | }; |
295 | "mathw0e" = | 302 | "mathw0e" = |
296 | { hostname = "mathw0e.mathinst.loc"; | 303 | { hostname = "mathw0e.mathinst.loc"; |
297 | proxyJump = "mathw0h"; | 304 | proxyCommand = autosshProxy "mathw0h"; |
298 | }; | 305 | }; |
299 | "mathw0f" = | 306 | "mathw0f" = |
300 | { hostname = "mathw0f.mathinst.loc"; | 307 | { hostname = "mathw0f.mathinst.loc"; |
301 | proxyJump = "mathw0h"; | 308 | proxyCommand = autosshProxy "mathw0h"; |
302 | }; | 309 | }; |
303 | "mathw0g" = | 310 | "mathw0g" = |
304 | { hostname = "mathw0g.mathinst.loc"; | 311 | { hostname = "mathw0g.mathinst.loc"; |
@@ -306,8 +313,8 @@ | |||
306 | "mathw0h" = | 313 | "mathw0h" = |
307 | { hostname = "mathw0h.mathinst.loc"; | 314 | { hostname = "mathw0h.mathinst.loc"; |
308 | }; | 315 | }; |
309 | "proxy.mathw0g" = | 316 | "proxy.ssh.math.lmu.de" = |
310 | { hostname = "mathw0g.mathinst.loc"; | 317 | { hostname = "ssh.math.lmu.de"; |
311 | extraOptions = { | 318 | extraOptions = { |
312 | ControlPath = "none"; | 319 | ControlPath = "none"; |
313 | ExitOnForwardFailure = "yes"; | 320 | ExitOnForwardFailure = "yes"; |
@@ -317,7 +324,17 @@ | |||
317 | }; | 324 | }; |
318 | "proxy.mathw0h" = | 325 | "proxy.mathw0h" = |
319 | { hostname = "mathw0h.mathinst.loc"; | 326 | { hostname = "mathw0h.mathinst.loc"; |
320 | proxyJump = "proxy.mathw0g"; | 327 | proxyCommand = autosshProxy "ssh.math.lmu.de"; |
328 | extraOptions = { | ||
329 | ControlPath = "none"; | ||
330 | ExitOnForwardFailure = "yes"; | ||
331 | ServerAliveCountMax = "15"; | ||
332 | ServerAliveInterval = "2"; | ||
333 | }; | ||
334 | }; | ||
335 | "proxy.mathw0e" = | ||
336 | { hostname = "mathw0e.mathinst.loc"; | ||
337 | proxyCommand = autosshProxy "mathw0h"; | ||
321 | extraOptions = { | 338 | extraOptions = { |
322 | ControlPath = "none"; | 339 | ControlPath = "none"; |
323 | ExitOnForwardFailure = "yes"; | 340 | ExitOnForwardFailure = "yes"; |
@@ -327,7 +344,7 @@ | |||
327 | }; | 344 | }; |
328 | "vrt-kvm06" = | 345 | "vrt-kvm06" = |
329 | { hostname = "vrt-kvm06"; | 346 | { hostname = "vrt-kvm06"; |
330 | proxyJump = "mathw0e"; | 347 | proxyCommand = autosshProxy "mathw0e"; |
331 | user = "root"; | 348 | user = "root"; |
332 | extraOptions = { | 349 | extraOptions = { |
333 | PasswordAuthentication = "yes"; | 350 | PasswordAuthentication = "yes"; |
@@ -336,7 +353,7 @@ | |||
336 | }; | 353 | }; |
337 | "vrt-kvm05" = | 354 | "vrt-kvm05" = |
338 | { hostname = "vrt-kvm05"; | 355 | { hostname = "vrt-kvm05"; |
339 | proxyJump = "mathw0e"; | 356 | proxyCommand = autosshProxy "mathw0e"; |
340 | user = "root"; | 357 | user = "root"; |
341 | extraOptions = { | 358 | extraOptions = { |
342 | PasswordAuthentication = "yes"; | 359 | PasswordAuthentication = "yes"; |
@@ -345,7 +362,7 @@ | |||
345 | }; | 362 | }; |
346 | "vrt-kvm04" = | 363 | "vrt-kvm04" = |
347 | { hostname = "vrt-kvm04"; | 364 | { hostname = "vrt-kvm04"; |
348 | proxyJump = "mathw0e"; | 365 | proxyCommand = autosshProxy "mathw0e"; |
349 | user = "root"; | 366 | user = "root"; |
350 | extraOptions = { | 367 | extraOptions = { |
351 | PasswordAuthentication = "yes"; | 368 | PasswordAuthentication = "yes"; |
@@ -354,7 +371,7 @@ | |||
354 | }; | 371 | }; |
355 | "vrt-kvm02" = | 372 | "vrt-kvm02" = |
356 | { hostname = "vrt-kvm02"; | 373 | { hostname = "vrt-kvm02"; |
357 | proxyJump = "mathw0e"; | 374 | proxyCommand = autosshProxy "mathw0e"; |
358 | user = "root"; | 375 | user = "root"; |
359 | extraOptions = { | 376 | extraOptions = { |
360 | PasswordAuthentication = "yes"; | 377 | PasswordAuthentication = "yes"; |
@@ -363,7 +380,7 @@ | |||
363 | }; | 380 | }; |
364 | "vrt-kvm03" = | 381 | "vrt-kvm03" = |
365 | { hostname = "vrt-kvm03"; | 382 | { hostname = "vrt-kvm03"; |
366 | proxyJump = "mathw0e"; | 383 | proxyCommand = autosshProxy "mathw0e"; |
367 | user = "root"; | 384 | user = "root"; |
368 | extraOptions = { | 385 | extraOptions = { |
369 | PasswordAuthentication = "yes"; | 386 | PasswordAuthentication = "yes"; |
@@ -372,7 +389,7 @@ | |||
372 | }; | 389 | }; |
373 | "vrt-kvm01" = | 390 | "vrt-kvm01" = |
374 | { hostname = "vrt-kvm01"; | 391 | { hostname = "vrt-kvm01"; |
375 | proxyJump = "mathw0e"; | 392 | proxyCommand = autosshProxy "mathw0e"; |
376 | user = "root"; | 393 | user = "root"; |
377 | extraOptions = { | 394 | extraOptions = { |
378 | PasswordAuthentication = "yes"; | 395 | PasswordAuthentication = "yes"; |
@@ -381,39 +398,44 @@ | |||
381 | }; | 398 | }; |
382 | "tts-www01" = | 399 | "tts-www01" = |
383 | { hostname = "tts-www01.mathinst.loc"; | 400 | { hostname = "tts-www01.mathinst.loc"; |
384 | proxyJump = "mathw0h"; | 401 | proxyCommand = autosshProxy "mathw0h"; |
385 | user = "root"; | 402 | user = "root"; |
386 | }; | 403 | }; |
387 | "vpn-wg01" = | 404 | "vpn-wg01" = |
388 | { hostname = "vpn-wg01.mathinst.loc"; | 405 | { hostname = "vpn-wg01.mathinst.loc"; |
389 | proxyJump = "mathw0h"; | 406 | proxyCommand = autosshProxy "mathw0h"; |
390 | user = "root"; | 407 | user = "root"; |
391 | }; | 408 | }; |
392 | "repo-apt01" = | 409 | "repo-apt01" = |
393 | { hostname = "repo-apt01.mathinst.loc"; | 410 | { hostname = "repo-apt01.mathinst.loc"; |
394 | proxyJump = "mathw0h"; | 411 | proxyCommand = autosshProxy "mathw0h"; |
395 | user = "root"; | 412 | user = "root"; |
396 | }; | 413 | }; |
397 | "ldap-lmumr01" = | 414 | "ldap-lmumr01" = |
398 | { hostname = "ldap-lmumr01.mathinst.loc"; | 415 | { hostname = "ldap-lmumr01.mathinst.loc"; |
399 | proxyJump = "mathw0h"; | 416 | proxyCommand = autosshProxy "mathw0h"; |
400 | user = "root"; | 417 | user = "root"; |
401 | }; | 418 | }; |
402 | "mail-mi01" = | 419 | "mail-mi01" = |
403 | { hostname = "mail-mi01.mathinst.loc"; | 420 | { hostname = "mail-mi01.mathinst.loc"; |
404 | proxyJump = "mathw0h"; | 421 | proxyCommand = autosshProxy "mathw0h"; |
405 | }; | 422 | }; |
406 | "mail-www02" = | 423 | "mail-www02" = |
407 | { hostname = "mail-www02.mathinst.loc"; | 424 | { hostname = "mail-www02.mathinst.loc"; |
408 | proxyJump = "mathw0h"; | 425 | proxyCommand = autosshProxy "mathw0h"; |
409 | }; | 426 | }; |
410 | "dpl-fai01" = | 427 | "dpl-fai01" = |
411 | { hostname = "dpl-fai01.mathinst.loc"; | 428 | { hostname = "dpl-fai01.mathinst.loc"; |
412 | user = "root"; | 429 | user = "root"; |
413 | }; | 430 | }; |
431 | "dpl-fai02" = | ||
432 | { hostname = "dpl-fai02.mathinst.loc"; | ||
433 | user = "root"; | ||
434 | proxyJump = "mgmt01"; | ||
435 | }; | ||
414 | "math05" = | 436 | "math05" = |
415 | { hostname = "math05.mathinst.loc"; | 437 | { hostname = "math05.mathinst.loc"; |
416 | proxyJump = "mathw0h"; | 438 | proxyCommand = autosshProxy "mathw0h"; |
417 | extraOptions.KexAlgorithms = "+diffie-hellman-group1-sha1"; | 439 | extraOptions.KexAlgorithms = "+diffie-hellman-group1-sha1"; |
418 | }; | 440 | }; |
419 | "switch01" = | 441 | "switch01" = |
@@ -439,20 +461,20 @@ | |||
439 | }; | 461 | }; |
440 | "www-mi01" = | 462 | "www-mi01" = |
441 | { hostname = "www-mi01.mathinst.loc"; | 463 | { hostname = "www-mi01.mathinst.loc"; |
442 | proxyJump = "mathw0h"; | 464 | proxyCommand = autosshProxy "mathw0h"; |
443 | }; | 465 | }; |
444 | "cip04" = | 466 | "cip04" = |
445 | { hostname = "cip04.cipmath.loc"; | 467 | { hostname = "cip04.cipmath.loc"; |
446 | proxyJump = "mathw0h"; | 468 | proxyCommand = autosshProxy "mathw0h"; |
447 | }; | 469 | }; |
448 | "mgmt-cls01" = | 470 | "mgmt-cls01" = |
449 | { user = "root"; | 471 | { user = "root"; |
450 | hostname = "mgmt-cls01.cipmath.loc"; | 472 | hostname = "mgmt-cls01.cipmath.loc"; |
451 | proxyJump = "ssh.math.lmu.de"; | 473 | proxyCommand = autosshProxy "ssh.math.lmu.de"; |
452 | }; | 474 | }; |
453 | "mgmt01" = | 475 | "mgmt01" = |
454 | { hostname = "mgmt01.mathinst.loc"; | 476 | { hostname = "mgmt01.mathinst.loc"; |
455 | proxyJump = "mathw0h"; | 477 | proxyCommand = autosshProxy "mathw0h"; |
456 | user = "root"; | 478 | user = "root"; |
457 | }; | 479 | }; |
458 | "ssh-lb01" = | 480 | "ssh-lb01" = |
@@ -471,17 +493,17 @@ | |||
471 | "rdlx02" = { hostname = "rdlx02.mathinst.loc"; proxyJump = "mgmt01"; }; | 493 | "rdlx02" = { hostname = "rdlx02.mathinst.loc"; proxyJump = "mgmt01"; }; |
472 | "math0d" = | 494 | "math0d" = |
473 | { hostname = "math0d.mathinst.loc"; | 495 | { hostname = "math0d.mathinst.loc"; |
474 | proxyJump = "mathw0h"; | 496 | proxyCommand = autosshProxy "mathw0h"; |
475 | }; | 497 | }; |
476 | "dhcp01" = | 498 | "dhcp01" = |
477 | { hostname = "dhcp01.mathinst.loc"; | 499 | { hostname = "dhcp01.mathinst.loc"; |
478 | user = "root"; | 500 | user = "root"; |
479 | proxyJump = "mathw0h"; | 501 | proxyCommand = autosshProxy "mathw0h"; |
480 | }; | 502 | }; |
481 | "dhcp02" = | 503 | "dhcp02" = |
482 | { hostname = "dhcp02.mathinst.loc"; | 504 | { hostname = "dhcp02.mathinst.loc"; |
483 | user = "root"; | 505 | user = "root"; |
484 | proxyJump = "mathw0h"; | 506 | proxyCommand = autosshProxy "mathw0h"; |
485 | }; | 507 | }; |
486 | "cc-gpu-l01" = | 508 | "cc-gpu-l01" = |
487 | { hostname = "cc-gpu-l01.mathinst.loc"; | 509 | { hostname = "cc-gpu-l01.mathinst.loc"; |
@@ -546,7 +568,7 @@ | |||
546 | user = "root"; | 568 | user = "root"; |
547 | }; | 569 | }; |
548 | "nas*" = | 570 | "nas*" = |
549 | { proxyJump = "mathw0e"; | 571 | { proxyCommand = autosshProxy "mathw0e"; |
550 | user = "admin"; | 572 | user = "admin"; |
551 | extraOptions = { | 573 | extraOptions = { |
552 | PasswordAuthentication = "yes"; | 574 | PasswordAuthentication = "yes"; |
@@ -554,9 +576,4 @@ | |||
554 | HostKeyAlgorithms = "+ecdsa-sha2-nistp256"; | 576 | HostKeyAlgorithms = "+ecdsa-sha2-nistp256"; |
555 | }; | 577 | }; |
556 | }; | 578 | }; |
557 | "game01" = | ||
558 | { hostname = "game01.yggdrasil.li"; | ||
559 | user = "factorio"; | ||
560 | identityFile = "~/.ssh/gkleen@sif.midgard.yggdrasil"; | ||
561 | }; | ||
562 | } | 579 | } |