Files
home-manager/tests/modules/programs/ssh/settings-expected.conf
Austin Horstman 936ae1b1eb ssh: add RFC 42 settings option
Add programs.ssh.settings as a freeform DAG for OpenSSH client configuration blocks. Render Host and Match blocks directly from the new settings option while preserving ordering support.

Render known ssh_config comma-list directives from Nix lists as single comma-separated lines and known space-list directives as single whitespace-separated lines. This keeps directives like KexAlgorithms, Ciphers, MACs, HostKeyAlgorithms, ProxyJump, SendEnv, GlobalKnownHostsFile, and PermitRemoteOpen from being emitted as duplicate directives where OpenSSH may only use the first value.

Migrate legacy matchBlocks into settings, keep root SSH option redirects pointed at the new option names, and hide the deprecated matchBlocks option from generated docs.

Update SSH tests, docs references, and news coverage for the new option.
2026-05-18 12:25:51 -05:00

32 lines
1.2 KiB
Plaintext

Host *.corp !bastion.corp
ProxyJump bastion-a.corp,bastion-b.corp
SendEnv LANG LC_*
User corp
Host github
CertificateFile ~/.ssh/github-cert.pub
CertificateFile ~/.ssh/github-alt-cert.pub
HostName github.com
IdentitiesOnly yes
IdentityAgent ~/.ssh/agent
IdentityAgent SSH_AUTH_SOCK
IdentityFile ~/.ssh/github
User git
Match host *.corp exec "test -f ~/.corp"
IgnoreUnknown PubkeyAcceptedAlgorithms,PubkeyAcceptedKeyTypes
CASignatureAlgorithms ssh-ed25519,rsa-sha2-512
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com
HostKeyAlgorithms ssh-ed25519,rsa-sha2-512
HostbasedAcceptedAlgorithms ssh-ed25519,rsa-sha2-512
HostbasedKeyTypes ssh-ed25519,rsa-sha2-512
KbdInteractiveDevices bsdauth,pam
KexAlgorithms sntrup761x25519-sha512,mlkem768x25519-sha256
LocalForward [localhost]:8080 [10.0.0.1]:80
LocalForward 9000 10.0.0.2:90
MACs hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com
PreferredAuthentications publickey,keyboard-interactive
PubkeyAcceptedAlgorithms ssh-ed25519,rsa-sha2-512
PubkeyAcceptedKeyTypes ssh-ed25519,rsa-sha2-512
SetEnv BAR="bar baz" BAZ="with \" some \\ very \\\" fun \\\\ escapes" FOO="foo"