chrome-ssh-agent

module
v0.0.14 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 23, 2018 License: Apache-2.0

README

Build status

SSH Agent for Google Chrome™

This is a bare-bones SSH agent extension for Google Chrome™. It provides an SSH agent implementation that can be used with the Secure Shell Chrome extension.

Getting Started

Installation

Install the extension from the Chrome Web Store.

Adding and Using Keys

  1. Click on the SSH Agent extension's icon in to Chrome toolbar. List keys
  2. Configure a new private key by clicking the 'Add Key' button. Give it a name and enter the PEM-encoded private key. Add key If you use Chrome Sync, configured keys will be synced to your account and available across your devices. Only the raw PEM-encoded private key you entered will be synced. That is, if you entered an encrypted private key, the encrypted private key will be synced. If you entered an unencrypted private key, the unencrypted private key will be synced.
  3. Click the 'Load' button and enter the key's passphrase to load the key into the SSH agent. Enter passphrase
  4. When creating a new connection in the Secure Shell extension, add --ssh-agent=eechpbnaifiimgajnomdipfaamobdfha to "SSH Relay Server Options" field to indicate that it should use the SSH Agent for keys. Connect

Credits

Portions of the code and approach are heavily based on the MacGyver Chrome extension. In particular, the following:

  • Usage of GopherJS, which makes it easy to use Go's existing SSH Agent implementation.
  • Code translating between the SSH Agent protocol used by the secure Shell extension and the actual SSH agent protocol (details).

Disclaimer

This is not an officially supported Google product.

Directories

Path Synopsis
go
agentport
Package agentport supports serving the SSH Agent protocol to Chrome's Secure Shell Extension.
Package agentport supports serving the SSH Agent protocol to Chrome's Secure Shell Extension.
chrome
Package chrome exposes Go versions of Chrome's extension APIs.
Package chrome exposes Go versions of Chrome's extension APIs.
chrome/fakes
Package fakes implements fake implementations of Chrome's extension APIs to ease unit testing.
Package fakes implements fake implementations of Chrome's extension APIs to ease unit testing.
dom
Package dom provides APIs for interacting with the DOM.
Package dom provides APIs for interacting with the DOM.
dom/testing
Package testing provides utilities for using the DOM in unit tests.
Package testing provides utilities for using the DOM in unit tests.
keys
Package keys provides APIs to manage configured keys and load them into an SSH agent.
Package keys provides APIs to manage configured keys and load them into an SSH agent.
optionsui
Package optionsui defines the behavior underlying the user interface for the extension's options.
Package optionsui defines the behavior underlying the user interface for the extension's options.
testing
Package testing implements utilities to aid in testing.
Package testing implements utilities to aid in testing.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL