nlemoine / transmit-2-ssh-config

Sync your Transmit SFTP favorites with your ssh config file

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

License:MIT License


Languages

Language:JavaScript 85.9%Language:AppleScript 14.1%