LibSSH.jl

This package provides a high-level API and low-level bindings to libssh. You can use it to programmatically create an SSH connection to a remote server and do things like:

  • Execute remote commands
  • Set up port forwarding
  • Create security holes (better be careful lol)

The upstream libssh library has implementations for both a client and server, but this package (currently) only attempts to provide a high-level client API. A demo SSH server is available, but it's only intended to be used for tests.

These docs were generated against this upstream libssh version:

julia> import LibSSH as ssh
julia> ssh.lib_version()v"0.11.1"
Warning

LibSSH.jl is still under heavy development and may contain bugs. We strongly recommend testing your code as much as possible. If you have found a bug, please report it.

Installation

LibSSH.jl is available in the general registry:

pkg> add LibSSH

Limitations

FAQ

Can I use this to create an SSH server?

Technically yes, but you almost certainly shouldn't because authentication and authorization is proper hard and there's lots of ways it could go wrong.

Can I use this to create an SSH client?

Yes. But make sure you test it appropriately with the Demo server.

Why isn't <beloved-feature> supported in the high-level API?

The author is fabulously lazy and hasn't bothered (but will accept PRs to do so <3).

Contents