You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Re-write of tunneling implementation for performance and ease of use
* SSHClient now creates and manages its own proxy connections via new tunnel
* Added `connect_auth` parallel client function
* Updated changelog
* Updated documentation
Copy file name to clipboardExpand all lines: Changelog.rst
+12
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,18 @@
1
1
Change Log
2
2
============
3
3
4
+
2.2.0
5
+
+++++
6
+
7
+
Changes
8
+
-------
9
+
10
+
* New single host tunneling, SSH proxy, implementation for increased performance.
11
+
* Native ``SSHClient`` now accepts ``proxy_host``, ``proxy_port`` and associated parameters - see `API documentation <https://parallel-ssh.readthedocs.io/en/latest/config.html>`_.
12
+
* Proxy configuration can now be provided via ``HostConfig``.
13
+
* Added ``ParallelSSHClient.connect_auth`` function for connecting and authenticating to hosts in parallel.
This is used in cases where the client does not have direct access to the target host and has to authenticate via an intermediary, also called a bastion host.
124
+
This is used in cases where the client does not have direct access to the target host(s) and has to authenticate via an intermediary proxy, also called a bastion host.
125
125
126
-
Commonly used for additional security as only the proxy or bastion host needs to have access to the target host.
126
+
Commonly used for additional security as only the proxy host needs to have access to the target host.
See :py:mod:`HostConfig <pssh.config.HostConfig>` for all possible configuration.
179
+
151
180
.. note::
152
181
153
-
The current implementation of tunnelling suffers from poor performance when first establishing connections to many hosts - this is due to be resolved in a future release.
182
+
New tunneling implementation from `2.2.0` for highest performance.
154
183
155
-
Proxy host connections are asynchronous and use the SSH protocol's native TCP tunnelling - aka local port forward. No external commands or processes are used for the proxy connection, unlike the `ProxyCommand` directive in OpenSSH and other utilities.
184
+
Connecting to dozens or more hosts via a single proxy host will impact performance considerably.
156
185
157
-
While connections initiated by ``parallel-ssh`` are asynchronous, connections from proxy host -> target hosts may not be, depending on SSH server implementation. If only one proxy host is used to connect to a large number of target hosts and proxy SSH server connections are *not* asynchronous, this may adversely impact performance on the proxy host.
186
+
See above for using host specific proxy configuration.
Copy file name to clipboardExpand all lines: doc/tunnel.rst
+3-1
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,9 @@
1
1
Native Tunnel
2
2
==============
3
3
4
-
Note this module is only intended for use as a proxy host for :py:class:`ParallelSSHClient <pssh.clients.native.parallel.ParallelSSHClient>`. It will very likely need sub-classing and further enhancing to be used for other purposes.
4
+
This module provides general purpose functionality for tunneling connections via an intermediary SSH proxy.
5
+
6
+
Clients connect to a provided local port and get traffic forwarded to/from the target host via an SSH proxy.
0 commit comments