This program allows you to automatically create bookmarks for all hosts that your SSH knows about. The really cool part is that it also includes a LaunchAgent script that re-runs this every time your SSH config changes. Include the output dir in your LaunchBar / QuickSilver / Alfred config, and you can SSH into hosts without even opening Terminal (to type SSH)!
You'll need Rust 1.13 or later, and cargo.
cargo install ssh_bookmarker
cargo install ssh_bookmarker --git https://github.com/antifuchs/ssh_bookmarker.git
You can use ssh_bookmarker create
as a one-off script to generate
SSH bookmarks in a specific directory. Specify SSH config file
locations with -c
and known_host files with -k
(There are no
defaults for file locations, so you'll have to specify them all
yourself).
You can use ssh_bookmarker launchagent
with the same options as you
would create
to create a LaunchAgent definition. The agent will
watch all the SSH config and knownhosts files you specify, and invoke
the sshbookmarker program every time launchd detects changes. Here's
an example:
``` sh $ mkdir -p ~/Library/LaunchAgents $ sshbookmarker launchagent \ -c /etc/ssh/sshconfig -c ~/.ssh/config \ -k /etc/ssh/sshknownhosts -k ~/.ssh/known_hosts \ ~/Library/"SSH Locations" > ~/Library/LaunchAgents/net.boinkor.ssh-bookmarker.plist
$ launchctl unload ~/Library/LaunchAgents/net.boinkor.ssh-bookmarker.plist ; launchctl load ~/Library/LaunchAgents/net.boinkor.ssh-bookmarker.plist ```
Now, all the files in ~/Library/SSH Locations
should be re-created
whenever ~/.ssh/config
or /etc/ssh/ssh_known_hosts
or any of the
other files listed change.