https://github.com/bararchy/crystal_ssh
libssh (server side) binding in Crystal
https://github.com/bararchy/crystal_ssh
Last synced: 10 months ago
JSON representation
libssh (server side) binding in Crystal
- Host: GitHub
- URL: https://github.com/bararchy/crystal_ssh
- Owner: bararchy
- License: mit
- Created: 2016-12-11T14:15:31.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2016-12-11T17:35:27.000Z (over 9 years ago)
- Last Synced: 2025-04-01T04:32:39.367Z (over 1 year ago)
- Language: Crystal
- Size: 12.7 KB
- Stars: 11
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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`:
```yaml
dependencies:
crystal_ssh:
github: bararchy/crystal_ssh
```
## Usage
```crystal
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
- [bararchy](https://github.com/bararchy) - creator, maintainer