ssh2_config/default_algorithms/
openssh.rs

1//! This file is autogenerated at build-time when `RELOAD_SSH_ALGO` is set to environment.
2
3use crate::DefaultAlgorithms;
4
5/// Default algorithms for ssh.
6///
7/// ## Ciphers algorithms
8///
9/// - `chacha20-poly1305@openssh.com`
10/// - `aes128-gcm@openssh.com`
11/// - `aes256-gcm@openssh.com`
12/// - `aes128-ctr`
13/// - `aes192-ctr`
14/// - `aes256-ctr`
15///
16/// ## Key Exchange (KEX) algorithms
17///
18/// - `mlkem768x25519-sha256`
19/// - `sntrup761x25519-sha512`
20/// - `sntrup761x25519-sha512@openssh.com`
21/// - `curve25519-sha256`
22/// - `curve25519-sha256@libssh.org`
23/// - `ecdh-sha2-nistp256`
24/// - `ecdh-sha2-nistp384`
25/// - `ecdh-sha2-nistp521`
26/// - `diffie-hellman-group-exchange-sha256`
27/// - `diffie-hellman-group16-sha512`
28/// - `diffie-hellman-group18-sha512`
29/// - `diffie-hellman-group14-sha256`
30///
31/// ## Host Key algorithms
32///
33/// - `ssh-ed25519-cert-v01@openssh.com`
34/// - `ecdsa-sha2-nistp256-cert-v01@openssh.com`
35/// - `ecdsa-sha2-nistp384-cert-v01@openssh.com`
36/// - `ecdsa-sha2-nistp521-cert-v01@openssh.com`
37/// - `sk-ssh-ed25519-cert-v01@openssh.com`
38/// - `sk-ecdsa-sha2-nistp256-cert-v01@openssh.com`
39/// - `rsa-sha2-512-cert-v01@openssh.com`
40/// - `rsa-sha2-256-cert-v01@openssh.com`
41/// - `ssh-ed25519`
42/// - `ecdsa-sha2-nistp256`
43/// - `ecdsa-sha2-nistp384`
44/// - `ecdsa-sha2-nistp521`
45/// - `sk-ssh-ed25519@openssh.com`
46/// - `sk-ecdsa-sha2-nistp256@openssh.com`
47/// - `rsa-sha2-512`
48/// - `rsa-sha2-256`
49///
50/// ## Message Authentication Code (MAC) algorithms
51///
52/// - `umac-64-etm@openssh.com`
53/// - `umac-128-etm@openssh.com`
54/// - `hmac-sha2-256-etm@openssh.com`
55/// - `hmac-sha2-512-etm@openssh.com`
56/// - `hmac-sha1-etm@openssh.com`
57/// - `umac-64@openssh.com`
58/// - `umac-128@openssh.com`
59/// - `hmac-sha2-256`
60/// - `hmac-sha2-512`
61/// - `hmac-sha1`
62///
63/// ## CA Signature algorithms
64///
65/// - `ssh-ed25519`
66/// - `ecdsa-sha2-nistp256`
67/// - `ecdsa-sha2-nistp384`
68/// - `ecdsa-sha2-nistp521`
69/// - `sk-ssh-ed25519@openssh.com`
70/// - `sk-ecdsa-sha2-nistp256@openssh.com`
71/// - `rsa-sha2-512`
72/// - `rsa-sha2-256`
73///
74/// ## Public Key Accepted algorithms
75///
76/// - `ssh-ed25519-cert-v01@openssh.com`
77/// - `ecdsa-sha2-nistp256-cert-v01@openssh.com`
78/// - `ecdsa-sha2-nistp384-cert-v01@openssh.com`
79/// - `ecdsa-sha2-nistp521-cert-v01@openssh.com`
80/// - `sk-ssh-ed25519-cert-v01@openssh.com`
81/// - `sk-ecdsa-sha2-nistp256-cert-v01@openssh.com`
82/// - `rsa-sha2-512-cert-v01@openssh.com`
83/// - `rsa-sha2-256-cert-v01@openssh.com`
84/// - `ssh-ed25519`
85/// - `ecdsa-sha2-nistp256`
86/// - `ecdsa-sha2-nistp384`
87/// - `ecdsa-sha2-nistp521`
88/// - `sk-ssh-ed25519@openssh.com`
89/// - `sk-ecdsa-sha2-nistp256@openssh.com`
90/// - `rsa-sha2-512`
91/// - `rsa-sha2-256`
92///
93pub fn defaults() -> DefaultAlgorithms {
94    DefaultAlgorithms {
95        ca_signature_algorithms: vec![
96            "ssh-ed25519".to_string(),
97            "ecdsa-sha2-nistp256".to_string(),
98            "ecdsa-sha2-nistp384".to_string(),
99            "ecdsa-sha2-nistp521".to_string(),
100            "sk-ssh-ed25519@openssh.com".to_string(),
101            "sk-ecdsa-sha2-nistp256@openssh.com".to_string(),
102            "rsa-sha2-512".to_string(),
103            "rsa-sha2-256".to_string(),
104        ],
105        ciphers: vec![
106            "chacha20-poly1305@openssh.com".to_string(),
107            "aes128-gcm@openssh.com".to_string(),
108            "aes256-gcm@openssh.com".to_string(),
109            "aes128-ctr".to_string(),
110            "aes192-ctr".to_string(),
111            "aes256-ctr".to_string(),
112        ],
113        host_key_algorithms: vec![
114            "ssh-ed25519-cert-v01@openssh.com".to_string(),
115            "ecdsa-sha2-nistp256-cert-v01@openssh.com".to_string(),
116            "ecdsa-sha2-nistp384-cert-v01@openssh.com".to_string(),
117            "ecdsa-sha2-nistp521-cert-v01@openssh.com".to_string(),
118            "sk-ssh-ed25519-cert-v01@openssh.com".to_string(),
119            "sk-ecdsa-sha2-nistp256-cert-v01@openssh.com".to_string(),
120            "rsa-sha2-512-cert-v01@openssh.com".to_string(),
121            "rsa-sha2-256-cert-v01@openssh.com".to_string(),
122            "ssh-ed25519".to_string(),
123            "ecdsa-sha2-nistp256".to_string(),
124            "ecdsa-sha2-nistp384".to_string(),
125            "ecdsa-sha2-nistp521".to_string(),
126            "sk-ssh-ed25519@openssh.com".to_string(),
127            "sk-ecdsa-sha2-nistp256@openssh.com".to_string(),
128            "rsa-sha2-512".to_string(),
129            "rsa-sha2-256".to_string(),
130        ],
131        kex_algorithms: vec![
132            "mlkem768x25519-sha256".to_string(),
133            "sntrup761x25519-sha512".to_string(),
134            "sntrup761x25519-sha512@openssh.com".to_string(),
135            "curve25519-sha256".to_string(),
136            "curve25519-sha256@libssh.org".to_string(),
137            "ecdh-sha2-nistp256".to_string(),
138            "ecdh-sha2-nistp384".to_string(),
139            "ecdh-sha2-nistp521".to_string(),
140            "diffie-hellman-group-exchange-sha256".to_string(),
141            "diffie-hellman-group16-sha512".to_string(),
142            "diffie-hellman-group18-sha512".to_string(),
143            "diffie-hellman-group14-sha256".to_string(),
144        ],
145        mac: vec![
146            "umac-64-etm@openssh.com".to_string(),
147            "umac-128-etm@openssh.com".to_string(),
148            "hmac-sha2-256-etm@openssh.com".to_string(),
149            "hmac-sha2-512-etm@openssh.com".to_string(),
150            "hmac-sha1-etm@openssh.com".to_string(),
151            "umac-64@openssh.com".to_string(),
152            "umac-128@openssh.com".to_string(),
153            "hmac-sha2-256".to_string(),
154            "hmac-sha2-512".to_string(),
155            "hmac-sha1".to_string(),
156        ],
157        pubkey_accepted_algorithms: vec![
158            "ssh-ed25519-cert-v01@openssh.com".to_string(),
159            "ecdsa-sha2-nistp256-cert-v01@openssh.com".to_string(),
160            "ecdsa-sha2-nistp384-cert-v01@openssh.com".to_string(),
161            "ecdsa-sha2-nistp521-cert-v01@openssh.com".to_string(),
162            "sk-ssh-ed25519-cert-v01@openssh.com".to_string(),
163            "sk-ecdsa-sha2-nistp256-cert-v01@openssh.com".to_string(),
164            "rsa-sha2-512-cert-v01@openssh.com".to_string(),
165            "rsa-sha2-256-cert-v01@openssh.com".to_string(),
166            "ssh-ed25519".to_string(),
167            "ecdsa-sha2-nistp256".to_string(),
168            "ecdsa-sha2-nistp384".to_string(),
169            "ecdsa-sha2-nistp521".to_string(),
170            "sk-ssh-ed25519@openssh.com".to_string(),
171            "sk-ecdsa-sha2-nistp256@openssh.com".to_string(),
172            "rsa-sha2-512".to_string(),
173            "rsa-sha2-256".to_string(),
174        ],
175    }
176}