Commit b03c1ddf982a
Changed files (2)
home
common
shell
systems
common
hardware
home/common/shell/git.nix
@@ -28,7 +28,8 @@ let
"src/knative-sandbox"
];
sshkeyPerHost = {
- kyushu = "${pkgs.writeText "yubikey5-c1" "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGHMa4rHuBbQQYv+8jvlkFCD2VYRGA4+5fnZAhLx8iDirzfEPqHB60UJWcDeixnJCUlpJjzFbS4crNOXhfCTCTE="}";
+ # FIDO2 resident key (ssh:personal) - no touch required for signing
+ kyushu = "${pkgs.writeText "yubikey5-fido2" "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIJ0HEuDwEL1fX0VR35ttJQNRYYFjIiOv8ZWtl419Ddt0AAAADHNzaDpwZXJzb25hbA== ssh:personal"}";
aomi = "${pkgs.writeText "aomi" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILJmTdMKYdgqpbQWBif58VBuwX+GqMGsMfB1ey1TKrM3 vincent@aomi"}";
};
defaultSSHKey = sshkeyPerHost.kyushu;
@@ -41,7 +42,7 @@ let
# List of allowed SSH signing keys for git commit verification
allowedSigners = ''
vincent@aomi ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILJmTdMKYdgqpbQWBif58VBuwX+GqMGsMfB1ey1TKrM3
- vincent@kyushu ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGHMa4rHuBbQQYv+8jvlkFCD2VYRGA4+5fnZAhLx8iDirzfEPqHB60UJWcDeixnJCUlpJjzFbS4crNOXhfCTCTE=
+ vincent@kyushu sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIJ0HEuDwEL1fX0VR35ttJQNRYYFjIiOv8ZWtl419Ddt0AAAADHNzaDpwZXJzb25hbA==
'';
in
{
systems/common/hardware/yubikey.nix
@@ -13,6 +13,7 @@
yubikey-personalization
yubikey-manager
yubikey-agent
+ openssh-askpass # GTK askpass for FIDO2 PIN prompts
]
++ lib.optionals (builtins.isString desktop) [
yubioath-flutter # Maybe not necessary
@@ -48,6 +49,13 @@
};
programs.gnupg.agent.pinentryPackage = pkgs.pinentry-gnome3;
+
+ # SSH_ASKPASS for FIDO2 PIN prompts
+ environment.variables = {
+ SSH_ASKPASS = lib.mkForce "${pkgs.openssh-askpass}/libexec/gtk-ssh-askpass";
+ SSH_ASKPASS_REQUIRE = "prefer"; # Use askpass when available, fallback to terminal
+ };
+
# Disabled - using FIDO2 keys with ssh-agent instead of PIV with yubikey-agent
services.yubikey-agent.enable = false;
# systemd.packages = [ pkgs.yubikey-agent ];