Skip to content

khmseu/crystal_ssh

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

crystal_ssh

This project aims to fully implement the libssh bindings in Crystal languge. Allowing programmers to spin up ssh servers and clients

Installation

Add this to your application's shard.yml:

dependencies:
  crystal_ssh:
    github: bararchy/crystal_ssh

Usage

require "crystal_ssh"

   ssh = SSHServer.new(
      username: "foo",
      password: "bar",
      rsakey: "spec/foo.key",
      timeout: "360",
      port: "2020",
      banner: "Welcome to Crystal SSH :)",
      listen_address: "0.0.0.0",
    ) 
  # Without a spawn this will block
  # When client side is ready the check would be to see if the server responds
  ssh.listen

You can always look at the sepcs to see examples

Development

The C sources and docs can be found here: http://api.libssh.org/master/group__libssh.html
I got the project started in Ruby here: https://github.com/bararchy/SSHSocket if another referance helps

TODO:

  • Adding full authentication for user & pass
  • Adding more hooks for events
  • Adding the shell integration
  • More stuff :)

Contributing

  1. Fork it ( https://github.com/bararchy/crystal_ssh/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

About

libssh (server side) binding in Crystal

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Crystal 100.0%