How to use a shared SSH config file » History » Revision 6
Revision 5 (Jon Goldberg, 04/02/2020 08:54 PM) → Revision 6/9 (Jon Goldberg, 04/03/2020 04:29 PM)
# How to use a shared SSH config file Do the following: * In the Nextcloud shared folder, locate the following files: `Configurations/work-ssh-config`, `Configurations/joseph-ssh-config`. * Create a `config.d` folder inside your `~/.ssh` folder. * Create symlinks (aliases) to those files, e.g.: ```shell ln -s /home/jon/ownCloud/work/Configurations/work-ssh-config ~/.ssh/config.d/20-megaphone ln -s /home/jon/ownCloud/work/Configurations/joseph-ssh-config ~/.ssh/config.d/30-joseph ``` When you're done, running `ls -l` in the `config.d` folder should look something like this (note I have a third "personal" symlink: ``` zabuntu: ~/.ssh/config.d » ls -l total 0 lrwxrwxrwx 1 jon jon 43 Oct 20 2016 10-personal -> /home/jon/ownCloud/personal/ssh/10-personal lrwxrwxrwx 1 jon jon 54 May 21 2017 20-work -> /home/jon/ownCloud/work/Configurations/work-ssh-config lrwxrwxrwx 1 jon jon 56 Nov 27 2017 30-joseph -> /home/jon/ownCloud/work/Configurations/joseph-ssh-config ``` * Add Finally, add these lines anywhere in your `.bashrc` file (a hidden folder in your home directory). ```shell function ssh() { ssh-combine; /usr/bin/ssh $@ } function rsync() { ssh-combine; /usr/bin/rsync $@ } function scp() { ssh-combine; /usr/bin/scp "$@" } function ssh-combine() { cat $HOME/.ssh/config.d/* > $HOME/.ssh/config } ``` If your username on your local machine isn't the same as your username on the remote machines, we'll also need to tell SSH to use a different default username. * Create a file in `~/.ssh/config.d` called `10-global`. It doesn't need to be a symlink. * The entire contents of this file should be a line: `user dennis` (or `user irene`).