https://github.com/nlemoine/transmit-2-ssh-config
Sync your Transmit SFTP favorites with your ssh config file
https://github.com/nlemoine/transmit-2-ssh-config
ssh-config transmit
Last synced: about 1 year ago
JSON representation
Sync your Transmit SFTP favorites with your ssh config file
- Host: GitHub
- URL: https://github.com/nlemoine/transmit-2-ssh-config
- Owner: nlemoine
- License: mit
- Created: 2017-04-20T15:24:35.000Z (about 9 years ago)
- Default Branch: main
- Last Pushed: 2025-04-25T09:08:44.000Z (about 1 year ago)
- Last Synced: 2025-04-25T10:26:24.464Z (about 1 year ago)
- Topics: ssh-config, transmit
- Language: JavaScript
- Homepage:
- Size: 53.7 KB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](https://panic.com/transmit/) SFTP favorites into an SSH config file.
- [Install](#install)
- [Usage](#usage)
- [Additional notes](#additional-notes)
- [Third party stuff to consider](#third-party-stuff-to-consider)
- [License](#license)
## Install
```bash
npm install -g transmit-2-ssh-config
```
or
```bash
yarn global add transmit-2-ssh-config
```
## Usage
```bash
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](https://github.com/nlemoine/transmit-2-ssh-config/blob/master/favorites-folders.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`:
```bash
# 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](https://github.com/mathiasbynens/dotfiles/blob/5368015b53467949c36f1e386582ac066b0d0ae6/.bash_profile#L42-L43)
### Shuttle
You can quickly access your SSH config file hosts with the excellent [Shuttle](http://fitztrev.github.io/shuttle/) app.
## License
MIT © Nicolas Lemoine