Skip to content

nlemoine/transmit-2-ssh-config

Repository files navigation

Transmit favorites to SSH config

This package is born because I was bored to keep both my SSH config file and Transmit favorites in sync, filling twice the same informations over and over.

It will add all your Transmit 5 SFTP favorites into an SSH config file.

Install

npm install -g transmit-2-ssh-config

or

yarn global add transmit-2-ssh-config

Usage

t2sc

Additional notes

  • You have to allow access to Transmit on the first run.
  • If you don't have a ~/.ssh/config file, it will be created for you.
  • Only SFTP favorites are synchronized to the SSH config file.
  • Existing config, hosts in your SSH config file will be preserved, Transmit favorites are safely added, updated or deleted.

Caveats

Since Transmit 5, getting favorites folders is made in a hacky and dirty way through AppleScript. Thus, it's far less reliable than it used to be in Transmit 4. There might some (edges) cases where it fails, for example, if you have a favorite with the same name in two different folders. Global advice to avoid that kind of situation: have unique folder and favorites names.

Third party stuff to consider

SSH config completion

I strongly recommend, if not using it already, to add this line to your .bash_profile:

# Add tab completion for SSH hostnames based on ~/.ssh/config, ignoring wildcards
[ -e "$HOME/.ssh/config" ] && complete -o "default" -o "nospace" -W "$(grep "^Host" ~/.ssh/config | grep -v "[?*]" | cut -d " " -f2- | tr ' ' '\n')" scp sftp ssh;

Taken from famous Mathias’s dotfiles

Shuttle

You can quickly access your SSH config file hosts with the excellent Shuttle app.

License

MIT © Nicolas Lemoine

About

Sync your Transmit SFTP favorites with your ssh config file

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published