ssh - Easy SSH servers in Golang

  •        190

This package was built by @progrium after working on nearly a dozen projects at Glider Labs using SSH and collaborating with @shazow (known for ssh-chat).A bunch of great examples are in the _examples directory.

https://godoc.org/github.com/gliderlabs/ssh
https://github.com/gliderlabs/ssh

Tags
Implementation
License
Platform

   




Related Projects

sftp - SFTP support for the go.crypto/ssh package

  •    Go

The sftp package provides support for file system operations on remote ssh servers using the SFTP subsystem. It also implements an SFTP server for serving files from the filesystem.See godoc.org/github.com/pkg/sftp for examples and usage.

Apache SSHD - Java library to support the SSH protocols on both the client and server side.

  •    Java

Apache SSHD is a 100% pure java library to support the SSH protocols on both the client and server side. This library is based on Apache MINA, a scalable and high performance asynchronous IO library. SSHD does not really aim at being a replacement for the SSH client or SSH server from Unix operating systems, but rather provides support for Java based applications requiring SSH support.

ssh-chat - Chat over SSH.

  •    Go

Custom SSH server written in Go. Instead of a shell, you get a chat prompt.The server's RSA key fingerprint is MD5:e5:d5:d1:75:90:38:42:f6:c7:03:d7:d0:56:7d:6a:db or SHA256:HQDLlZsXL3t0lV5CHM0OXeZ5O6PcfHuzkS8cRbbTLBI. If you see something different, you might be MITM'd.

OpenSSH - Keep your communication secret

  •    C

OpenSSH encrypts all traffic (including passwords) to effectively eliminate eavesdropping, connection hijacking, and other attacks. Additionally, OpenSSH provides secure tunneling capabilities and several authentication methods, and supports all SSH protocol versions.

exscript - A Python module making Telnet and SSH easy

  •    Python

Exscript is a Python module and a template processor for automating network connections over protocols such as Telnet or SSH. We attempt to create the best possible set of tools for working with Telnet and SSH. Exscript also provides a set of tools and functions for sysadmins, that simplify regular expression matching, reporting by email, logging, or syslog handling, CSV parsing, ip address handling, template processing, and many more.


SSH.NET - SSH.NET is a Secure Shell (SSH) library for .NET, optimized for parallelism.

  •    CSharp

SSH.NET is a Secure Shell (SSH-2) library for .NET, optimized for parallelism.This project was inspired by Sharp.SSH library which was ported from java and it seems like was not supported for quite some time. This library is a complete rewrite, without any third party dependencies, using parallelism to achieve the best performance possible.

rtop - rtop is an interactive, remote system monitoring tool based on SSH

  •    Go

rtop is a remote system monitor. It connects over SSH to a remote system and displays vital system metrics (CPU, disk, memory, network). No special software is needed on the remote system, other than an SSH server and working credentials. Only Linux systems can be monitored, and most modern distros will work.

TinySSH - small SSH server

  •    C

TinySSH is small SSH server using state-of-the-art cryptographic library NaCl / TweetNaCl. TinySSH offers good security on TCP and is designed for perfect security on CurveCP.

ansible-ssh-hardening - This Ansible role provides numerous security-related ssh configurations, providing all-round base protection

  •    Ruby

This role provides secure ssh-client and ssh-server configurations. It is intended to be compliant with the DevSec SSH Baseline. Warning: This role disables root-login on the target server! Please make sure you have another user with su or sudo permissions that can login into the server.

whosthere - A ssh server that knows who you are. $ ssh whoami.filippo.io

  •    Go

A ssh server that knows who you are.When it tries to authenticate via public key, ssh sends the server all your public keys, one by one, until the server accepts one. One can take advantage of this to enumerate all the client's installed public keys.

xiringuito - SSH-based "VPN for poors"

  •    Shell

This is the "VPN without VPN" software done using nice built-in capabilities of SSH. Yes! That easy - just pass an SSH server and the list of networks your want to access through this server.

GoSSHa - Go SSH agent: can execute commands at thousands of servers and upload files to them

  •    Go

Ssh client that supports command execution and file upload on multiple servers (designed to handle thousands of parallel SSH connections). GoSSHa supports SSH authentication using private keys (encrypted keys are supported using external call to ssh-keygen) and ssh-agent, implemented using go.crypto/ssh. GoSSHa is not designed to be used directly by end users, but rather serve as a lightweight proxy between your application (GUI or CLI) and thousands of SSH connections to remote servers.

dockersh - A shell which places users into individual docker containers

  •    Go

A user shell for isolated, containerized environments. dockersh is designed to be used as a login shell on machines with multiple interactive users. When a user invokes dockersh, it will bring up a Docker container (if not already running), and then spawn a new interactive shell in the container's namespace.

meterssh - MeterSSH is a way to take shellcode, inject it into memory then tunnel whatever port you want to over SSH to mask any type of communications as a normal SSH connection

  •    Python

MeterSSH is a way to take shellcode, inject it into memory then tunnel whatever port you want to over SSH to mask any type of communications as a normal SSH connection. The way it works is by injecting shellcode into memory, then wrapping a port spawned (meterpeter in this case) by the shellcode over SSH back to the attackers machine. Then connecting with meterpreter's listener to localhost will communicate through the SSH proxy, to the victim through the SSH tunnel. All communications are relayed through the SSH tunnel and not through the network. There are two files, monitor.py and meterssh.py.

sshmuxd - sshmux frontend

  •    Go

A SSH "jump host" style proxy, based off the https://github.com/joushou/sshmux library. So, why not just a jump host? Well, if it's just you and no one else needing access, go ahead. If you, however, want to give more than one person SSH access through your public IP on port N (N often being 22), then you might want something with a bit more access control. Sure, you can make really complicated SSH configs that limit a lot of things for the other users, but they'll always be able to poke around more than you want them to, and it'll be a pain in the butt to maintain.

x84 - A python telnet/ssh server for modern UTF-8 and classic cp437 network virtual terminals

  •    Python

The primary purpose of x/84 is to provide a server framework for building environments that emulate the feeling of an era that predates the world wide web. It may be used for developing a classic bulletin board system (BBS) -- one is provided as the 'default' scripting layer. It may also be used to develop a MUD, a text-based game, or a game-hosting server such as done by dgamelaunch. x/84 supplies a scripting engine for developing character-at a time telnet or ssh server, such as MUD or BBS systems. Technologies used in x/84 are derived from miniboa (Apache 2.0 Licensed) for telnet, blessed (MIT Licensed) for terminal capabilities, sqlitedict (Public Domain) for persistent data, paramiko for ssh and sftp services, and web.py for http service.

ScanSSH - Scans the network for open proxies

  •    C

ScanSSH supports scanning a list of addresses and networks for open proxies, SSH protocol servers, Web and SMTP servers. Where possible ScanSSH, displays the version number of the running services. ScanSSH protocol scanner supports random selection of IP addresses from large network ranges and is useful for gathering statistics on the deployment of SSH protocol servers in a company or the Internet as whole.

teleport - Privileged access management for elastic infrastructure.

  •    Go

Teleport is built on top of the high-quality Golang SSH implementation and it is fully compatible with OpenSSH and can be used with sshd servers and ssh clients. Download the latest binary release, unpack the .tar.gz and run sudo ./install. This will copy Teleport binaries into /usr/local/bin.

vultr - :penguin: Vultr CLI and API client library

  •    Go

Vultr CLI is a command line tool for using the Vultr API. It allows you to create and manage your virtual machines, SSH public keys, snapshots and startup scripts on your Vultr account. You can also use it to directly SSH into a Vultr virtual machine through the vultr ssh command.