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}