eximius-net-ssh 6.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (117) hide show
  1. checksums.yaml +7 -0
  2. data/.dockerignore +6 -0
  3. data/.github/config/rubocop_linter_action.yml +4 -0
  4. data/.github/workflows/ci-with-docker.yml +44 -0
  5. data/.github/workflows/ci.yml +87 -0
  6. data/.github/workflows/rubocop.yml +13 -0
  7. data/.gitignore +13 -0
  8. data/.rubocop.yml +22 -0
  9. data/.rubocop_todo.yml +1072 -0
  10. data/CHANGES.txt +698 -0
  11. data/Dockerfile +27 -0
  12. data/Dockerfile.openssl3 +17 -0
  13. data/Gemfile +13 -0
  14. data/Gemfile.noed25519 +12 -0
  15. data/ISSUE_TEMPLATE.md +30 -0
  16. data/LICENSE.txt +19 -0
  17. data/Manifest +132 -0
  18. data/README.md +293 -0
  19. data/Rakefile +105 -0
  20. data/THANKS.txt +110 -0
  21. data/appveyor.yml +58 -0
  22. data/docker-compose.yml +23 -0
  23. data/lib/net/ssh/authentication/agent.rb +284 -0
  24. data/lib/net/ssh/authentication/certificate.rb +183 -0
  25. data/lib/net/ssh/authentication/constants.rb +20 -0
  26. data/lib/net/ssh/authentication/ed25519.rb +185 -0
  27. data/lib/net/ssh/authentication/ed25519_loader.rb +31 -0
  28. data/lib/net/ssh/authentication/key_manager.rb +310 -0
  29. data/lib/net/ssh/authentication/methods/abstract.rb +79 -0
  30. data/lib/net/ssh/authentication/methods/hostbased.rb +72 -0
  31. data/lib/net/ssh/authentication/methods/keyboard_interactive.rb +77 -0
  32. data/lib/net/ssh/authentication/methods/none.rb +34 -0
  33. data/lib/net/ssh/authentication/methods/password.rb +80 -0
  34. data/lib/net/ssh/authentication/methods/publickey.rb +137 -0
  35. data/lib/net/ssh/authentication/pageant.rb +497 -0
  36. data/lib/net/ssh/authentication/pub_key_fingerprint.rb +43 -0
  37. data/lib/net/ssh/authentication/session.rb +165 -0
  38. data/lib/net/ssh/buffer.rb +440 -0
  39. data/lib/net/ssh/buffered_io.rb +202 -0
  40. data/lib/net/ssh/config.rb +406 -0
  41. data/lib/net/ssh/connection/channel.rb +695 -0
  42. data/lib/net/ssh/connection/constants.rb +33 -0
  43. data/lib/net/ssh/connection/event_loop.rb +123 -0
  44. data/lib/net/ssh/connection/keepalive.rb +59 -0
  45. data/lib/net/ssh/connection/session.rb +712 -0
  46. data/lib/net/ssh/connection/term.rb +180 -0
  47. data/lib/net/ssh/errors.rb +106 -0
  48. data/lib/net/ssh/key_factory.rb +218 -0
  49. data/lib/net/ssh/known_hosts.rb +265 -0
  50. data/lib/net/ssh/loggable.rb +62 -0
  51. data/lib/net/ssh/packet.rb +106 -0
  52. data/lib/net/ssh/prompt.rb +62 -0
  53. data/lib/net/ssh/proxy/command.rb +123 -0
  54. data/lib/net/ssh/proxy/errors.rb +16 -0
  55. data/lib/net/ssh/proxy/http.rb +98 -0
  56. data/lib/net/ssh/proxy/https.rb +50 -0
  57. data/lib/net/ssh/proxy/jump.rb +54 -0
  58. data/lib/net/ssh/proxy/socks4.rb +67 -0
  59. data/lib/net/ssh/proxy/socks5.rb +140 -0
  60. data/lib/net/ssh/service/forward.rb +426 -0
  61. data/lib/net/ssh/test/channel.rb +147 -0
  62. data/lib/net/ssh/test/extensions.rb +173 -0
  63. data/lib/net/ssh/test/kex.rb +46 -0
  64. data/lib/net/ssh/test/local_packet.rb +53 -0
  65. data/lib/net/ssh/test/packet.rb +101 -0
  66. data/lib/net/ssh/test/remote_packet.rb +40 -0
  67. data/lib/net/ssh/test/script.rb +180 -0
  68. data/lib/net/ssh/test/socket.rb +65 -0
  69. data/lib/net/ssh/test.rb +94 -0
  70. data/lib/net/ssh/transport/algorithms.rb +502 -0
  71. data/lib/net/ssh/transport/cipher_factory.rb +103 -0
  72. data/lib/net/ssh/transport/constants.rb +40 -0
  73. data/lib/net/ssh/transport/ctr.rb +115 -0
  74. data/lib/net/ssh/transport/hmac/abstract.rb +97 -0
  75. data/lib/net/ssh/transport/hmac/md5.rb +10 -0
  76. data/lib/net/ssh/transport/hmac/md5_96.rb +9 -0
  77. data/lib/net/ssh/transport/hmac/none.rb +13 -0
  78. data/lib/net/ssh/transport/hmac/ripemd160.rb +11 -0
  79. data/lib/net/ssh/transport/hmac/sha1.rb +11 -0
  80. data/lib/net/ssh/transport/hmac/sha1_96.rb +9 -0
  81. data/lib/net/ssh/transport/hmac/sha2_256.rb +11 -0
  82. data/lib/net/ssh/transport/hmac/sha2_256_96.rb +9 -0
  83. data/lib/net/ssh/transport/hmac/sha2_256_etm.rb +12 -0
  84. data/lib/net/ssh/transport/hmac/sha2_512.rb +11 -0
  85. data/lib/net/ssh/transport/hmac/sha2_512_96.rb +9 -0
  86. data/lib/net/ssh/transport/hmac/sha2_512_etm.rb +12 -0
  87. data/lib/net/ssh/transport/hmac.rb +47 -0
  88. data/lib/net/ssh/transport/identity_cipher.rb +57 -0
  89. data/lib/net/ssh/transport/kex/abstract.rb +130 -0
  90. data/lib/net/ssh/transport/kex/abstract5656.rb +72 -0
  91. data/lib/net/ssh/transport/kex/curve25519_sha256.rb +39 -0
  92. data/lib/net/ssh/transport/kex/curve25519_sha256_loader.rb +30 -0
  93. data/lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb +37 -0
  94. data/lib/net/ssh/transport/kex/diffie_hellman_group14_sha256.rb +11 -0
  95. data/lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb +122 -0
  96. data/lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha1.rb +72 -0
  97. data/lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha256.rb +11 -0
  98. data/lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb +39 -0
  99. data/lib/net/ssh/transport/kex/ecdh_sha2_nistp384.rb +21 -0
  100. data/lib/net/ssh/transport/kex/ecdh_sha2_nistp521.rb +21 -0
  101. data/lib/net/ssh/transport/kex.rb +31 -0
  102. data/lib/net/ssh/transport/key_expander.rb +30 -0
  103. data/lib/net/ssh/transport/openssl.rb +262 -0
  104. data/lib/net/ssh/transport/packet_stream.rb +280 -0
  105. data/lib/net/ssh/transport/server_version.rb +77 -0
  106. data/lib/net/ssh/transport/session.rb +354 -0
  107. data/lib/net/ssh/transport/state.rb +208 -0
  108. data/lib/net/ssh/verifiers/accept_new.rb +33 -0
  109. data/lib/net/ssh/verifiers/accept_new_or_local_tunnel.rb +33 -0
  110. data/lib/net/ssh/verifiers/always.rb +58 -0
  111. data/lib/net/ssh/verifiers/never.rb +19 -0
  112. data/lib/net/ssh/version.rb +70 -0
  113. data/lib/net/ssh.rb +330 -0
  114. data/net-ssh-public_cert.pem +20 -0
  115. data/net-ssh.gemspec +44 -0
  116. data/support/ssh_tunnel_bug.rb +65 -0
  117. metadata +277 -0
data/CHANGES.txt ADDED
@@ -0,0 +1,698 @@
1
+ === 6.3.0 beta1
2
+
3
+ * Support cert based host key auth, fix asterisk in known_hosts [#833]
4
+ * Support kex dh-group14-sha256 [#795]
5
+ * Fix StrictHostKeyChecking ssh config parameter translation [#765]
6
+
7
+ === 6.2.0 rc1
8
+
9
+ === 6.2.0 beta1
10
+
11
+ * rsa-sha2-512, rsa-sha2-256 host_key algs [#771]
12
+ * JRuby aes*-ctr suppport [#767]
13
+
14
+ === 6.1.0
15
+
16
+ * Adapt to ssh's default behaviors when no username is provided.
17
+ When Net::SSH.start user is nil and config has no entry
18
+ we default to Etc.getpwuid.name() instead of Etc.getlogin(). [#749]
19
+
20
+ === 6.1.0.rc1
21
+
22
+ * Make sha2-{256,512}-etm@openssh.com MAC default again [#761]
23
+ * Support algorithm subtraction syntax from ssh_config [#751]
24
+
25
+ === 6.0.2
26
+
27
+ * Fix corrupted hmac issue in etm hmac [#759]
28
+
29
+ === 6.0.1
30
+
31
+ * Make sha2-{256,512}-etm@openssh.com MAC opt-in as they seems to have issues [#757]
32
+
33
+ === 6.0.0
34
+
35
+ * Support empty lines and comments in known_hosts [donoghuc, #742]
36
+ * Add sha2-{256,512}-etm@openssh.com MAC algorithms [graaff, #714]
37
+
38
+ === 6.0.0 beta2
39
+
40
+ * Support :certkeys and CertificateFile configuration option [Anders Carling, #722]
41
+
42
+ === 6.0.0 beta1
43
+
44
+ * curve25519sha256 support [Florian Wininger ,#690]
45
+ * disabled insecure algs [Florian Wininger , #709]
46
+
47
+ === 5.2.0
48
+
49
+ === 5.2.0.rc3
50
+
51
+ * Fix check_host_ip read from config
52
+ * Support ssh-ed25519 in known hosts
53
+
54
+ === 5.2.0.rc2
55
+
56
+ * Read check_host_ip from ssh config files
57
+
58
+ === 5.2.0.rc1
59
+
60
+ * Interpret * and ? in know_hosts file [Romain Tartière, #660]
61
+ * New :check_host_ip so ip checking can be disabled in known hosts [Romain Tartière, #656]
62
+
63
+ === 5.1.0
64
+
65
+ === 5.1.0.rc1
66
+
67
+ * Support new OpenSSH private key format for rsa - bcrypt for rsa (ed25519 already supported) [#646]
68
+ * Support IdentityAgent is ssh config [Frank Groeneveld, #645]
69
+ * Improve Match processing in ssh config [Aleksandrs Ļedovskis, #642]
70
+ * Ignore signature verification when verify_host_key is never [Piotr Kliczewski, #641]
71
+ * Alg preference was changed to prefer stronger encryptions [Tray, #637]
72
+
73
+ === 5.0.2
74
+
75
+ * Fix ctr for jruby [#612]
76
+
77
+ === 5.0.1
78
+
79
+ * default_keys were not loaded even if no keys or key_data options specified [#607]
80
+
81
+ === 5.0.0
82
+
83
+ * Breaking change: ed25519 now requires ed25519 gem instead of RbNaCl gem [#563]
84
+ * Verify_host_key options rename (true, false, :very, :secure depreacted new equivalents are :never, :accept_new_or_local_tunnel :accept_new :always) [Jared Beck, #595]
85
+
86
+ === 5.0.0.rc2
87
+
88
+ * Add .dll extensions to dlopen on cygwin [#603]
89
+ * Fix host certificate validation [#601]
90
+
91
+ === 5.0.0.rc1
92
+
93
+ * Fix larger than 4GB file transfers [#599]
94
+ * Update HTTP proxy to version 1.1 [Connor Dunn, #597]
95
+
96
+ === 5.0.0.beta2
97
+
98
+ * Support for sha256 pubkey fingerprint [Tom Maher, #585]
99
+ * Don't try to load default_keys if key_data option is used [Josh Larson, #589]
100
+ * Added fingerprint_hash defaulting to SHA256 as fingerprint format, and MD5 can be used as an option [Miklós Fazekas, #591]
101
+
102
+ === 5.0.0.beta1
103
+
104
+ * Don't leave proxy command as zombie on timeout [DimitriosLisenko, #560]
105
+ * Use OpenSSL for aes*-ctr for up to 5x throughput improvement [Miklós Fazekas, Harald Sitter, #570]
106
+ * Optimize slice! usage in CTR for up to 2x throughput improvement [Harald Sitter, #569]
107
+ * Replace RbNaCl dependency with ed25519 gem [Tony Arcieri ,#563]
108
+ * Add initial Match support [Kasumi Hanazuki, #553]
109
+
110
+ === 4.2.0.rc2
111
+
112
+ * Fix double close bug on auth failure (or ruby 2.2 or earlier) [#538]
113
+
114
+ === 4.2.0.rc1
115
+
116
+ * Improved logging with proxy command [Dmitriy Ivliev, #530]
117
+ * Close transport on proxy error [adamruzicka, #526]
118
+ * Support multiple identity files [Kimura Masayuki, #528]
119
+ * Move `none` cipher to end of cipher list [Brian Cain, #525]
120
+ * Deprecate `:paranoid` in favor of `:verify_host_key` [Jared Beck, #524]
121
+ * Support Multile Include ssh config files [Kasumi Hanazuki, #516]
122
+ * Support Relative path in ssh confif files [Akinori MUSHA, #510]
123
+ * add direct-streamlocal@openssh.com support in Forward class [Harald Sitter, #502]
124
+
125
+ === 4.1.0
126
+ === 4.1.0.rc1
127
+
128
+ * ProxyJump support [Ryan McGeary, #500]
129
+ * Fix agent detection on Windows [Christian Koehler, #495]
130
+
131
+ === 4.1.0.beta1
132
+
133
+ * Fix nil error when libsodium is not there [chapmajs ,#488]
134
+ * SSH certificate support for client auth [David Bartley, #485]
135
+
136
+ === 4.0.1
137
+ === 4.0.1.rc2
138
+
139
+ * ENV["HOME"] might be empty so filter non expandable paths [Matt Casper, #351]
140
+
141
+ === 4.0.1.rc1
142
+
143
+ * support of rbnacl 4.0 and better error message [#479]
144
+ * support include in config files [Kimura Masayuki, #475]
145
+ * fixed issue with ruby 2.2 or older on windows [#472]
146
+
147
+ === 4.0.0
148
+ === 4.0.0.rc3
149
+
150
+ * parse `+` character in config files [Christoph Lupprich, #470, #314]
151
+
152
+ === 4.0.0.rc2
153
+
154
+ * Fixed OpenSSL 2.0/Ruby 2.4.0 warnings [Miklós Fazekas, #468]
155
+ * Added ssh-ed25519 to KnownHosts:SUPPORTED_TYPE [detatka-kuzlatka-otevrete, Miklós Fazekas, #459]
156
+ * Allow nil for :passhrase and passing in nil option is now a depreaction warning [Miklós Fazekas, #465]
157
+
158
+ === 4.0.0.rc1
159
+
160
+ * Allow :password to be nil for capistrano v2 compatibility [Will Bryant, #357]
161
+ * In next_packet if prefer consuming buffer before filling it again if we have enough data [Miklós Fazekas, #454]
162
+
163
+ === 4.0.0.beta4
164
+
165
+ * Added exitstatus method to exec's return [Miklós Fazekas, #452]
166
+ * Don't raise from exec if server closes transport just after channel close [Miklós Fazekas, #450]
167
+ * Removed java_pageant, as jruby should be using regular pagent impl [Miklós Fazekas, ]
168
+ * Use SSH_AUTH_SOCK if possible on windows (cygwin) [Miklós Fazekas, Martin Dürst, #365, #361]
169
+ * HTTPS proxy support [Marcus Ilgner, #432]
170
+ * Supports ruby 2.4.0.dev new exception type from OpenSSL::PKey.read
171
+
172
+ === 4.0.0.beta3
173
+
174
+ * Fix Net::SSH::Disconnect exceptions when channels are closed cleanly [Miklos Fazekas, #421, #422]
175
+
176
+ === 4.0.0.beta2
177
+
178
+ * Fix raiseUnlessLoaded undefined ERROR issue [Miklos Fazekas, #418]
179
+
180
+ === 4.0.0.beta1
181
+
182
+ * Fix pageant [elconas, #235]
183
+ * Relaxed rbnacl,rbnacl-selenium contstraints ang give better errors about them [Miklos Fazekas, #398]
184
+ * Fix UTF-8 encoding issues [Ethan J. Brown, #407]
185
+
186
+ === 4.0.0.alpha4
187
+
188
+ * Experimental event loop abstraction [Miklos Fazekas]
189
+ * RbNacl dependency is optional [Miklos Fazekas]
190
+ * agent_socket_factory option [Alon Goldboim]
191
+ * client sends KEXINIT, it doesn't have to wait for server [Miklos Fazekas]
192
+ * better error message when option is nil [Kane Morgan]
193
+ * prompting can be customized [Miklos Fazekas]
194
+
195
+ === 4.0.0.alpha3
196
+
197
+ * added max_select_wait_time [Eugene Kenny]
198
+
199
+ === 4.0.0.alpha2
200
+
201
+ * when transport closes we're cleaning up channels [Miklos Fazekas]
202
+
203
+ === 4.0.0.alpha1
204
+
205
+ * ed25519 key support [Miklos Fazekas]
206
+ * removed camellia [Miklos Fazekas]
207
+
208
+ === 3.1.0
209
+ === 3.1.0.rc1
210
+
211
+ * fix Secure#verify [Jean Boussier]
212
+ * use the smallest of don't spend longer time than keepalive if it's configured [Eugene Kenny]
213
+
214
+ === 3.1.0.beta3
215
+
216
+ * forward/on_open_failed should stop listning closed socket otherwise it locks #269 [Miklos Fazekas,Scott McGillivray]
217
+ * fix incorrect pattern handling in config files #310 [Miklos Fazekas]
218
+
219
+ === 3.1.0.beta2
220
+
221
+ * trying to execute something on a not yet opend channel throws nicer messag [Miklos Fazekas]
222
+ * calling close on a not opened channel marks the channel for close [Miklos Fazekas]
223
+ * read keepalive configuration from ssh config files [Miklos Fazekas]
224
+ * send client version on hadshake before waiting for server to reduce handshake time [Miklos Fazekas]
225
+ * allow custom Net::SSH::KnownHosts implementations [Jean Boussier]
226
+ * memoize known host so we only search it once per session [Jean Boussier, Miklos Fazekas]
227
+
228
+ === 3.0.2
229
+ === 3.0.2.rc1
230
+
231
+ * fixed rare WaitWritable error with proxy commands [Miklos Fazkas, Andre Meij]]
232
+ * if Net::SSH.start user is nil and config has no entry we default to Etc.getlogin
233
+ * Bugfix: CHANNEL_CLOSE was sent before draining ouput buffer #280 [Christopher F. Auston]
234
+
235
+ === 3.0.1
236
+ === 3.0.1.rc1
237
+
238
+ * Breaking change from 2.* series: exec! without block now returns empty string instread of nil if command has no output [https://github.com/net-ssh/net-ssh/pull/273]
239
+ * Support remote_user as %r in proxy commands [Dominic Scheirlinck]
240
+ * Raise Net::SSH::ConnectionTimeout from connection timeout [Carl Hoerberg]
241
+
242
+ === 3.0.0.rc1
243
+
244
+ * SemVer: Major version change because of dropping of ruby 1.9
245
+
246
+ === 2.10.1.rc2
247
+
248
+ * Win: Use fiddle on ruby 2.1 too [Charlie Savage]
249
+
250
+ === 2.10.1.rc1
251
+
252
+ * Added ruby 2.0 requirement to gemspec [Alex Schultz]
253
+
254
+ === 2.10.0
255
+
256
+ === 2.10.0-beta2
257
+
258
+ * Fix :passphrase option with :non_interactive [Jeremy Stanley]
259
+ * Use Socket.tcp with connect_timeout instead of Timeout::timeout [Carl Hörberg]
260
+ * Support for hostname hashes [Jef Mathiot]
261
+ * Ruby 1.9.3 is no longer supported but should moslty work expect for stuff like connect_timeout
262
+
263
+ === 2.10.0-beta1
264
+
265
+ * Fix could not parse PKey error. [Andrey Voronkov]
266
+ * Workaround for threading issue in MRI + singleton method declaration [Matt Brictson]
267
+ * Configuration change: we no longer append all supported algorithms, this is so you can exclude insecure algorithms. If you want to use the old behaviour specify append_all_supported_algorithms => true [voidus, mfazekas]
268
+ * New configuration option: :non_interactive => true in case you prefer an authmethod to fail rather than prompt. [mfazekas]
269
+ * Configuration change: password will now ask for password up to the :number_of_password_prompts times. If you want the
270
+ 2.9.1 behaviour of never asking password please set number_of_password_prompts to 0.
271
+
272
+ === 2.9.4-beta1
273
+
274
+ * Use sysread and syswrite on Windows instead of read_nonblock and write [marc-etienne]
275
+ * Windows/peagant: use fiddle on ruby 2.2+/windows [Charlie Savage]
276
+ * Check if ssh key is a file [kiela]
277
+
278
+ === 2.9.3
279
+
280
+ === 2.9.2-rc3
281
+
282
+ * Remove advertised algorithms that were not working (curve25519-sha256@libssh.org) [mfazekas]
283
+
284
+ === 2.9.2-rc2
285
+
286
+ * number_of_password_prompts is now accepted as ssh option, by setting it 0 net-ssh will not ask for password for password auth as with previous versions [mfazekas]
287
+
288
+ === 2.9.2-rc1
289
+
290
+ * Documentation fixes and refactoring to keepalive [detiber, mfazekas]
291
+
292
+ === 2.9.2-beta
293
+
294
+ * Remove advertised algorithms that were not working (ssh-rsa-cert-* *ed25519 acm*-gcm@openssh.com) [mfazekas]
295
+ * Unknown algorithms now ignored instead of failed [mfazekas]
296
+ * Configuration change: Asks for password with password auth (up to number_of_password_prompts) [mfazekas]
297
+ * Removed warnings [amatsuda]
298
+
299
+ === 2.9.1 / 13 May 2014
300
+
301
+ * Fix for unknown response from agent on Windows with 64-bit PuTTY [chrahunt]
302
+ * Support negative patterns in host lookup from the SSH config file [nirvdrum]
303
+
304
+
305
+ === 2.9.0 / 30 Apr 2014
306
+
307
+ * New ciphers [chr4]
308
+ * Added host keys: ssh-rsa-cert-v01@openssh.com ssh-rsa-cert-v00@openssh.com ssh-ed25519-cert-v01@openssh.com ssh-ed25519
309
+ * Added HMACs: hmac-sha2-512-etm@openssh.com hmac-sha2-256-etm@openssh.com umac-128-etm@openssh.com
310
+ * Added Kex: aes256-gcm@openssh.com aes128-gcm@openssh.com curve25519-sha256@libssh.org
311
+ * Added private key support for id_ed25519
312
+ * IdentiesOnly will not disable ssh_agent - fixes #148 and new fix for #137 [mfazekas]
313
+ * Ignore errors during ssh agent negotiation [simonswine, jasiek]
314
+ * Added an optional "options" argument to test socket open method [jefmathiot]
315
+ * Added gem signing (again) with new cert [delano]
316
+
317
+
318
+ === 2.8.1 / 19 Feb 2014
319
+
320
+ * Correct location of global known_hosts files [mfischer-zd]
321
+ * Fix for password authentication [blackpond, zachlipton, delano]
322
+
323
+
324
+ === 2.8.0 / 01 Feb 2014
325
+
326
+ * Handle ssh-rsa and ssh-dss certificate files [bobveznat]
327
+ * Correctly interpret /etc/ssh_config Authentication settings based on openssh /etc/ssh_config system defaults [therealjessesanford, liggitt]
328
+ * Fixed pageant support for Windows [jarredholman]
329
+ * Support %r in ProxyCommand configuration in ssh_config files as defined in OpenSSH [yugui]
330
+ * Don't use ssh-agent if :keys_only is true [SFEley]
331
+ * Fix the bug in keys with comments [bobtfish]
332
+ * Add a failing tests for options in pub keys [bobtfish]
333
+ * Assert that the return value from ssh block is returned [carlhoerberg]
334
+ * Don't close the connection it's already closed [carlhoerberg]
335
+ * Ensure the connection closes even on exception [carlhoerberg]
336
+ * Make the authentication error message more useful [deric]
337
+ * Fix "ConnectionError" typo in lib/net/ssh/proxy/socks5.rb [mirakui]
338
+ * Allow KeyManager to recover from incompatible agents [ecki, delano]
339
+ * Fix for "Authentication Method determination can pick up a class from the root namespace" [dave.sieh]
340
+
341
+
342
+ === 2.7.0 / 11 Sep 2013
343
+
344
+ * Fix for 'Could not parse PKey: no start line' error on private keys with passphrases (issue #101) [metametaclass]
345
+ * Automatically forward environment variables defined in OpenSSH config files [fnordfish]
346
+ * Guard against socket.gets being nil in Net::SSH::Proxy::HTTP [krishicks]
347
+ * Implemented experimental keepalive feature [noric]
348
+
349
+
350
+ === 2.6.8 / 6 Jul 2013
351
+
352
+ * Added support for host wildcard substitution [GabKlein]
353
+ * Added a wait to the loop in close to help fix possible blocks [Josh Kalderimis]
354
+ * Fixed test file encoding issues with Ruby 2.0 (#87) [voxik]
355
+
356
+
357
+ === 2.6.7 / 11 Apr 2013
358
+
359
+ * Decreased default packet size to 32768 as described in RFC 4253 [Olipro]
360
+ * Added max_pkt_size and max_win_size options to Net::SSH.start [Olipro]
361
+
362
+
363
+ === 2.6.6 / 03 Mar 2013
364
+
365
+ * Fix for ruby 2.0 in windows [jansegre]
366
+
367
+ === 2.6.5 / 06 Feb 2013
368
+
369
+ * Fixed path in gemspec [thanks priteau]
370
+
371
+ === 2.6.4 / 06 Feb 2013
372
+
373
+ * Added license info to gemspec [jordimassaguerpla]
374
+ * Added public cert. All gem releases are now signed.
375
+
376
+
377
+ === 2.6.3 / 10 Jan 2013
378
+
379
+ * Small doc fix and correct error class for PKey::EC key type [Andreas Wolff]
380
+ * Improve test dependencies [Kenichi Kamiya]
381
+
382
+
383
+ === 2.6.2 / 22 Nov 2012
384
+
385
+ * Net::SSH.start now returns result of block [mhuffnagle]
386
+ * Add stderr handling to Net::SSH::Test [ohrite]
387
+ * Fix Invalid key size in JRuby [ohrite]
388
+
389
+
390
+ === 2.6.1 / 18 Oct 2012
391
+
392
+ * Remove platform specific jruby dependency from gemspec
393
+ * Changed encoding of file to prevent warnings when generating docs [iltempo]
394
+
395
+
396
+ === 2.6.0 / 19 Sep 2012
397
+
398
+ * Use OpenSSL::PKey.read to read arbitrary private key. [nagachika]
399
+ * Check availability of UNIXSocket and UNIXServer for Windows [Nobuhiro IMAI]
400
+ * Bump version to 2.5.3 and depend on newer jruby-pageant version for Java 1.5 compat. [arturaz]
401
+ * Implementation of the "none"-authentication method [dubspeed]
402
+ * Add class for stricter host key verification [Andy Brody]
403
+
404
+
405
+ === 2.5.2 / 25 May 2012
406
+
407
+ * Fix for Net::SSH::KnownHosts::SUPPORTED_TYPE [Marco Sandrini]
408
+
409
+ === 2.5.1 / 24 May 2012
410
+
411
+ * Added missing file to manifest [Marco Sandrini]
412
+
413
+ === 2.5.0 / 24 May 2012
414
+
415
+ * Implement many algorithms [Ryosuke Yamazaki]
416
+ * Key Exchange
417
+ * diffie-hellman-group14-sha1
418
+ * ecdh-sha2-nistp{256,384,521}
419
+ * Host Key
420
+ * ecdsa-sha2-nistp{256,384,521}
421
+ * Authentication
422
+ * ecdsa-sha2-nistp{256,384,521}
423
+ * HMAC
424
+ * hmac-ripemd160
425
+ * Cipher:
426
+ * aes{128,192,256}-ctr
427
+ * camellia{128,192,256}-ctr
428
+ * blowfish-ctr
429
+ * cast128-ctr
430
+ * 3des-ctr
431
+ * arcfour (has problems with weak keys, and should be used with caution)
432
+ * camellia{128,192,256}-cbc
433
+
434
+ === 2.4.0 / 17 May 2012
435
+
436
+ * Support for JRuby + Pageant + Windows [arturaz]
437
+
438
+ === 2.3.0 / 11 Jan 2012
439
+
440
+ * Support for hmac-sha2 and diffie-hellman-group-exchange-sha256 [Ryosuke Yamazaki]
441
+
442
+ === 2.2.2 / 04 Jan 2012
443
+
444
+ * Fixed: Connection hangs on ServerVersion.new(socket, logger) [muffl0n]
445
+ * Avoid dying when unsupported auth mechanisms are defined [pcn]
446
+
447
+ === 2.2.1 / 24 Aug 2011
448
+
449
+ * Do not prompt any passphrases before trying all identities from agent. [musybite]
450
+ (see: http://net-ssh.lighthouseapp.com/projects/36253-net-ssh/tickets/30)
451
+
452
+ === 2.2.0 / 16 Aug 2011
453
+
454
+ * Add support for forward a local UNIX domain socket to a remote TCP socket. [Mark Imbriaco]
455
+
456
+ === 2.1.4 / 3 Apr 2011
457
+
458
+ * Add ConnectionTimeout exception class. [Joel Watson]
459
+ See: https://github.com/net-ssh/net-ssh-multi/pull/1
460
+
461
+
462
+ === 2.1.3 / 2 Mar 2011
463
+
464
+ * Call to transport.closed should be transport.close [Woon Jung]
465
+
466
+
467
+ === 2.1.2 / 1 Mar 2011
468
+
469
+ * Fix for Net::SSH Continues to attempt authentication when notified it is not allowed [Eric Hodel]
470
+ (see: http://net-ssh.lighthouseapp.com/projects/36253-net-ssh/tickets/26)
471
+ * Fix for transport won't be closed if authentication fails [Patrick Marchi]
472
+
473
+
474
+ === 2.1 / 19 Jan 2011
475
+
476
+ * Support "IdentitiesOnly" directive (LH-24) [Musy Bite, Edmund Haselwanter]
477
+ * Speeding up the Loggable module (LH-23) [robbebob]
478
+
479
+
480
+ === 2.0.24 / 14 Jan 2011
481
+
482
+ * Fix for process code to correctly wait until remote_id is set before sending any output, including eof. [Daniel Pittman, Markus Roberts]
483
+ * Fix circular require warning in Ruby 1.9.2 [Gavin Brock]
484
+
485
+
486
+ === 2.0.23 / 03 Jun 2010
487
+
488
+ * delay CHANNEL_EOF packet until output buffer is empty [Rich Lane]
489
+
490
+ Previously, calling #eof! after #send_data would result in the CHANNEL_EOF
491
+ packet being sent immediately, ahead of the data in the output buffer. Now
492
+ buffer becomes empty.
493
+
494
+
495
+ === 2.0.22 / 20 Apr 2010
496
+
497
+ * Fix for: "Parsing the config errors out because it coerces the "1" into an integer and then tries to split it on spaces for multiple host checking." (http://net-ssh.lighthouseapp.com/projects/36253/tickets/10) [Lee Marlow]
498
+
499
+
500
+ === 2.0.21 / 20 Mar 2010
501
+
502
+ * Fix for "IdentifyFile" in ~/.ssh/config does not work if no "Host" statement is given (http://net-ssh.lighthouseapp.com/projects/36253/tickets/9-identifyfile-in-sshconfig-does-not-work-if-no-host-statement-is-given#ticket-9-5) [xbaldauf, Delano Mandelbaum]
503
+
504
+ * Fix for client closes a forwarded connection, but the server is reading, net-ssh terminates with IOError socket closed (http://net-ssh.lighthouseapp.com/projects/36253/tickets/7) [Miklós Fazekas]
505
+
506
+ * Fix for client force closes (RST) a forwarded connection, but server is reading, net-ssh terminates with exception [Miklós Fazekas]
507
+
508
+ * Fix for server closes the sending side, the on_eof is not handled. [Miklós Fazekas]
509
+
510
+ * Removed Hanna dependency in Rakefile [Delano Mandelbaum]
511
+
512
+
513
+ === 2.0.20 / 10 Feb 2010
514
+
515
+ * Support "ProxyCommand none" directive [Andy Lo-A-Foe]
516
+
517
+ === 2.0.19 / 16 Jan 2010
518
+
519
+ * Support plus sign in sshconfig hostname [Jason Weathered]
520
+
521
+ === 2.0.18 / 15 Jan 2010
522
+
523
+ * Fix related to #recv(1) to #readpartial change in 2.0.16 [Hans de Graaff, Delano Mandelbaum]
524
+
525
+
526
+ === 2.0.17 / 14 Dec 2009
527
+
528
+ * Don't load net/ssh/authentication/pageant on Windows with Ruby 1.9 [Travis Reeder, Delano Mandelbaum]
529
+
530
+
531
+ === 2.0.16 / 28 Nov 2009
532
+
533
+ * Fix for "multiple hosts are separated by whitespace" [Akinori MUSHA]
534
+
535
+ * Add support for the ProxyCommand directive [Akinori MUSHA]
536
+
537
+ * Switched from #recv(1) to #readpartial in lib/net/ssh/transport/server_version.rb, so that closed sockets are recognized [Alex Peuchert]
538
+
539
+
540
+ === 2.0.15 / 03 Sep 2009
541
+
542
+ * Scale back IO#select patch so it mutexes only zero-timeout calls [Daniel Azuma, Will Bryant]
543
+
544
+
545
+ === 2.0.14 / 28 Aug 2009
546
+
547
+ * Fix for IO#select threading bug in Ruby 1.8 (LH-1) [Daniel Azuma]
548
+
549
+ * Fix for "uninitialized constant OpenSSL::Digest::MD5" exception in Net::SFTP [DL Redden]
550
+
551
+
552
+ === 2.0.13 / 17 Aug 2009
553
+
554
+ * Added fix for hanging in ServerVersion#negotiate! when using SOCKS5 proxy (GH-9) [Gerald Talton]
555
+
556
+ * Added support for specifying a list of hosts in .ssh/config, with tests (GH-6) [ckoehler, Delano Mandelbaum]
557
+
558
+ * Added tests for arcfour128/256/512 lengths, encryption, and decryption [Delano Mandelbaum]
559
+
560
+ * Skip packet stream tests for arcfour128/256/512 [Delano Mandelbaum]
561
+
562
+ * Fix for OpenSSL cipher key length because it always returns 16, even when 32 byte keys are required, e.g. for arcfour256 and arcfour512 ciphers [Karl Varga]
563
+
564
+
565
+ === 2.0.12 / 08 Jun 2009
566
+
567
+ * Applied patch for arcfour128 and arcfour256 support [Denis Bernard]
568
+
569
+ * Use unbuffered reads when negotiating the protocol version [Steven Hazel]
570
+
571
+
572
+ === 2.0.11 / 24 Feb 2009
573
+
574
+ * Add :key_data option for specifying raw private keys in PEM format [Alex Holems, Andrew Babkin]
575
+
576
+
577
+ === 2.0.10 / 4 Feb 2009
578
+
579
+ * Added Net::SSH.configuration_for to make it easier to query the SSH configuration file(s) [Jamis Buck]
580
+
581
+
582
+ === 2.0.9 / 1 Feb 2009
583
+
584
+ * Specifying non-nil user argument overrides user in .ssh/config [Jamis Buck]
585
+
586
+ * Ignore requests for non-existent channels (workaround ssh server bug) [Jamis Buck]
587
+
588
+ * Add terminate! method for hard shutdown scenarios [Jamis Buck]
589
+
590
+ * Revert to pre-2.0.7 key-loading behavior by default, but load private-key if public-key doesn't exist [Jamis Buck]
591
+
592
+ * Make sure :passphrase option gets passed to key manager [Bob Cotton]
593
+
594
+
595
+ === 2.0.8 / 29 December 2008
596
+
597
+ * Fix private key change from 2.0.7 so that keys are loaded just-in-time, avoiding unecessary prompts from encrypted keys. [Jamis Buck]
598
+
599
+
600
+ === 2.0.7 / 29 December 2008
601
+
602
+ * Make key manager use private keys instead of requiring public key to exist [arilerner@mac.com]
603
+
604
+ * Fix failing tests [arilerner@mac.com]
605
+
606
+ * Don't include pageant when running under JRuby [Angel N. Sciortino]
607
+
608
+
609
+ === 2.0.6 / 6 December 2008
610
+
611
+ * Update the Manifest file so that the gem includes all necessary files [Jamis Buck]
612
+
613
+
614
+ === 2.0.5 / 6 December 2008
615
+
616
+ * Make the Pageant interface comply with more of the Socket interface to avoid related errors [Jamis Buck]
617
+
618
+ * Don't busy-wait on session close for remaining channels to close [Will Bryant]
619
+
620
+ * Ruby 1.9 compatibility [Jamis Buck]
621
+
622
+ * Fix Cipher#final to correctly flag a need for a cipher reset [Jamis Buck]
623
+
624
+
625
+ === 2.0.4 / 27 Aug 2008
626
+
627
+ * Added Connection::Session#closed? and Transport::Session#closed? [Jamis Buck]
628
+
629
+ * Numeric host names in .ssh/config are now parsed correct [Yanko Ivanov]
630
+
631
+ * Make sure the error raised when a public key file is malformed is more informative than a MethodMissing error [Jamis Buck]
632
+
633
+ * Cipher#reset is now called after Cipher#final, with the last n bytes used as the next initialization vector [Jamis Buck]
634
+
635
+
636
+ === 2.0.3 / 27 Jun 2008
637
+
638
+ * Make Net::SSH::Version comparable [Brian Candler]
639
+
640
+ * Fix errors in port forwarding when a channel could not be opened due to a typo in the exception name [Matthew Todd]
641
+
642
+ * Use #chomp instead of #strip when cleaning the version string reported by the remote host, so that trailing whitespace is preserved (this is to play nice with servers like Mocana SSH) [Timo Gatsonides]
643
+
644
+ * Correctly parse ssh_config entries with eq-sign delimiters [Jamis Buck]
645
+
646
+ * Ignore malformed ssh_config entries [Jamis Buck]
647
+
648
+ === 2.0.2 / 29 May 2008
649
+
650
+ * Make sure the agent client understands both RSA "identities answers" [Jamis Buck]
651
+
652
+ * Fixed key truncation bug that caused hmacs other than SHA1 to fail with "corrupt hmac" errors [Jamis Buck]
653
+
654
+ * Fix detection and loading of public keys when the keys don't actually exist [David Dollar]
655
+
656
+
657
+ === 2.0.1 / 5 May 2008
658
+
659
+ * Teach Net::SSH about a handful of default key names [Jamis Buck]
660
+
661
+
662
+ === 2.0.0 / 1 May 2008
663
+
664
+ * Allow the :verbose argument to accept symbols (:debug, etc.) as well as Logger level constants (Logger::DEBUG, etc.) [Jamis Buck]
665
+
666
+
667
+ === 2.0 Preview Release 4 (1.99.3) / 19 Apr 2008
668
+
669
+ * Make sure HOME is set to something sane, even on OS's that don't set it by default [Jamis Buck]
670
+
671
+ * Add a :passphrase option to specify the passphrase to use with private keys [Francis Sullivan]
672
+
673
+ * Open a new auth agent connection for every auth-agent channel request [Jamis Buck]
674
+
675
+
676
+ === 2.0 Preview Release 3 (1.99.2) / 10 Apr 2008
677
+
678
+ * Session properties [Jamis Buck]
679
+
680
+ * Make channel open failure work with a callback so that failures can be handled similarly to successes [Jamis Buck]
681
+
682
+
683
+ === 2.0 Preview Release 2 (1.99.1) / 22 Mar 2008
684
+
685
+ * Partial support for ~/.ssh/config (and related) SSH configuration files [Daniel J. Berger, Jamis Buck]
686
+
687
+ * Added Net::SSH::Test to facilitate testing complex SSH state machines [Jamis Buck]
688
+
689
+ * Reworked Net::SSH::Prompt to use conditionally-selected modules [Jamis Buck, suggested by James Rosen]
690
+
691
+ * Added Channel#eof? and Channel#eof! [Jamis Buck]
692
+
693
+ * Fixed bug in strict host key verifier on cache miss [Mike Timm]
694
+
695
+
696
+ === 2.0 Preview Release 1 (1.99.0) / 21 Aug 2007
697
+
698
+ * First preview release of Net::SSH v2