Parallel-ssh

Latest version: v2.14.0

Safety actively analyzes 715033 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 9

1.13.0

Not secure
++++++

Changes
--------

* Added ``pssh.config.HostConfig`` for providing per-host configuration. Replaces dictionary ``host_config`` which is
now deprecated. See
`per-host configuration <https://parallel-ssh.readthedocs.io/en/latest/advanced.html#per-host-configuration>`_
documentation.
* ``ParallelSSHClient.scp_send`` and ``scp_recv`` with directory target path will now copy source file to directory
keeping existing name instead of failing when recurse is off - 183.
* ``pssh.clients.ssh.SSHClient`` ``wait_finished`` timeout is now separate from ``SSHClient(timeout=<timeout>)`` session
timeout.
* ``ParallelSSHClient.join`` with timeout now has finished and unfinished commands as ``Timeout`` exception arguments
for use by client code.

Fixes
------

* ``ParallelSSHClient.copy_file`` with recurse enabled and absolute destination path would create empty directory in
home directory of user - 197.
* ``ParallelSSHClient.copy_file`` and ``scp_recv`` with recurse enabled would not create remote directories when
copying empty local directories.
* ``ParallelSSHClient.scp_send`` would require SFTP when recurse is off and remote destination path contains directory
- 157.
* ``ParallelSSHClient.scp_recv`` could block infinitely on large - 200-300MB or more - files.
* ``SSHClient.wait_finished`` would not apply timeout value given.

1.12.1

Not secure
++++++

Fixes
------

* Reading from output streams with timeout via `run_command(<..>, timeout=<timeout>)` would raise timeout early when
trying to read from a stream with no data written to it while other streams have pending data - 180.

1.12.0

Not secure
++++++

Changes
--------

* Added `ssh-python` (`libssh <https://libssh.org>`_) based native client with `run_command` implementation.
* ``ParallelSSHClient.join`` with timeout no longer consumes output by default to allow reading of output after timeout.

Fixes
------

* ``ParallelSSHClient.join`` with timeout would raise ``Timeout`` before value given when client was busy with other
commands.

.. note::

``ssh-python`` client at `pssh.clients.ssh.ParallelSSHClient` is available for testing. Please report any issues.

To use:

.. code-block:: python

from pssh.clients.ssh import ParallelSSHClient

This release adds (yet another) client, this one based on
`ssh-python <https://github.com/ParallelSSH/ssh-python>`_ (`libssh <https://libssh.org>`_).
Key features of this client are more supported authentication methods compared to `ssh2-python`.

Future releases will also enable certificate authentication for the ssh-python client.

Please migrate to one of the two native clients if have not already as paramiko is very quickly accumulating yet more
bugs and the `2.0.0` release which removes it is imminent.

Users that require paramiko for any reason can pin their parallel-ssh versions to `parallel-ssh<2.0.0`.

1.11.2

Not secure
++++++

Fixes
------

* `ParallelSSHClient` going out of scope would cause new client sessions to fail if `client.join` was not called prior
- 200

1.11.0

Not secure
++++++

Changes
-------

* Moved polling to gevent.select.poll to increase performance and better handle high number of sockets - 189
* ``HostOutput.exit_code`` is now a dynamic property returning either ``None`` when exit code not ready or the exit
code as reported by channel. ``ParallelSSHClient.get_exit_codes`` is now a no-op and scheduled to be removed.
* Native client exit codes are now more explicit and return ``None`` if no exit code is ready. Would previously return
``0`` by default.


Packaging
---------

* Removed OSX Python 3.6 and 3.7 wheels. OSX wheels for brew python, currently 3.8, on OSX 10.14 and 10.15 are provided.

Fixes
------

* Native client would fail on opening sockets with large file descriptor values - 189

1.10.0

Not secure
+++++++

Changes
--------

* Added ``return_list`` optional argument to ``run_command`` to return list of ``HostOutput`` objects as output rather
than dictionary - defaults to ``False``. List output will become default starting from ``2.0.0``.
* Updated native clients for new version of ``ssh2-python``.
* Manylinux 2010 wheels.


Fixes
------

* Sockets would not be closed on client going out of scope - 175
* Calling ``join()`` would reset encoding set on ``run_command`` - 159

Page 5 of 9

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.