All Projects → smithclay → Faassh

smithclay / Faassh

simple go SSH server with reverse tunneling designed for running in cloud functions like AWS lambda

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Faassh

Awslambdaproxy
An AWS Lambda powered HTTP/SOCKS web proxy
Stars: ✭ 571 (+727.54%)
Mutual labels:  aws-lambda, tunnel
Secure Wireguard Implementation
A guide on implementing a secure Wireguard server on OVH (or any other Debian VPS) with DNSCrypt, Port Knocking & an SSH-Honeypot
Stars: ✭ 200 (+189.86%)
Mutual labels:  tunnel, ssh-server
Ssh Proxy
SSH proxy that allows support agents go to customers servers with using intermediate corporate SSH key
Stars: ✭ 53 (-23.19%)
Mutual labels:  ssh-server
Lambda Native
Make .NET AWS Lambda functions start 10x faster using LambdaNative.
Stars: ✭ 64 (-7.25%)
Mutual labels:  aws-lambda
Flogo Contrib
Flogo Contribution repo. Contains activities, triggers, models and actions.
Stars: ✭ 60 (-13.04%)
Mutual labels:  aws-lambda
Alagarr
🦍 Alagarr is a request-response helper library that removes the boilerplate from your Node.js (AWS Lambda) serverless functions and helps make your code portable.
Stars: ✭ 58 (-15.94%)
Mutual labels:  aws-lambda
Ng Toolkit
⭐️ Angular tool-box! Start your PWA in two steps! Add Serverless support for existing projects and much more
Stars: ✭ 1,116 (+1517.39%)
Mutual labels:  aws-lambda
Serverless Image Resizer
Serverless image resizer like imgix on API Gateway & Lambda
Stars: ✭ 52 (-24.64%)
Mutual labels:  aws-lambda
Contacts api
Serverless RESTful API with AWS Lambda, API Gateway and DynamoDB
Stars: ✭ 66 (-4.35%)
Mutual labels:  aws-lambda
Simple Vpn Demo
A Simple Point-to-Point tunnelling implementation in C
Stars: ✭ 59 (-14.49%)
Mutual labels:  tunnel
Alexa Myqgarage
Use your Echo to control your Chamberlain MyQ Garage door
Stars: ✭ 63 (-8.7%)
Mutual labels:  aws-lambda
Mr2
Mr.2 can help you expose local server to external network. Support both TCP/UDP, of course support HTTP. Zero-Configuration.
Stars: ✭ 1,102 (+1497.1%)
Mutual labels:  tunnel
Apex
Old apex/apex
Stars: ✭ 20 (-71.01%)
Mutual labels:  aws-lambda
Curso Aws Com Terraform
🎦 🇧🇷 Arquivos do curso "DevOps: AWS com Terraform Automatizando sua infraestrutura" publicado na Udemy. Você pode me ajudar comprando o curso utilizando o link abaixo.
Stars: ✭ 62 (-10.14%)
Mutual labels:  aws-lambda
Haveibeenpwned Zxcvbn Lambda Api
Deploy your own secure API to estimate password strength and check haveibeenpwned for known matches - HTTPS by force, server not required, fire and brimstone sold separately 🔥
Stars: ✭ 57 (-17.39%)
Mutual labels:  aws-lambda
Vapor Aws Lambda Runtime
Run your Vapor api server on AWS Lambda using the official Swift Server runtime.
Stars: ✭ 65 (-5.8%)
Mutual labels:  aws-lambda
Libssh Esp32
Libssh SSH client & server port to ESP32 Arduino library
Stars: ✭ 52 (-24.64%)
Mutual labels:  ssh-server
Up
Up focuses on deploying "vanilla" HTTP servers so there's nothing new to learn, just develop with your favorite existing frameworks such as Express, Koa, Django, Golang net/http or others.
Stars: ✭ 8,439 (+12130.43%)
Mutual labels:  aws-lambda
Scandium
🚀 Easily deploy any Node.js web server to AWS Lambda
Stars: ✭ 61 (-11.59%)
Mutual labels:  aws-lambda
Adapter Aws Lambda Serverless
An extension for running Probot on Lambda
Stars: ✭ 67 (-2.9%)
Mutual labels:  aws-lambda

faassh

simple go SSH server designed for running in cloud functions

image

This is just for fun. It's a simple SSH server and tunnel-er that allows you to SSH into a running lambda function—until it times out.

Developed for my dotScale 2017 talk, "Searching for the Server in Serverless". Slides here.

building

This project uses the Serverless Application Model for packaging and deploying.

   $ sam build
   $ sam package --s3-bucket <yourbucket> > packaged.yaml
   $ sam deploy --template-file packaged.yaml --stack-name <yourstack> --capabilities CAPABILITY_IAM

usage

   faassh -i ./path_to_private_rsa_host_key -p port_number

example

See the example node.js lambda function in the lambda/ directory.

  • Generate RSA keys for the Lambda function and bundle inside the lambda directory (ssh-keygen -t rsa -f ./id_rsa)
  • Set the envionment variables to point to your SSH jump host with the correct username.

If you'd like to test it on your local laptop that's behind (hopefully) a NAT/firewall, I like the TCP forwarding available on ngrok. You can create a tunnel to your local SSH server for the other end of the tunnel endpoint, you just run: ngrok tcp 22.

other interesting/related projects

  • lambdash - another approach for running commands in Lambda
  • awslambdaproxy - An AWS Lambda powered HTTP/SOCKS web proxy

todo

  • better authentication support
  • other cloud providers
  • connection cleanup
  • terraform/cloudformation helper
  • multiple connections
  • tests and docs :)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].