How to use a shared SSH config file » History » Revision 8
Revision 7 (Irene Meisel, 04/06/2020 04:58 PM) → Revision 8/9 (Jon Goldberg, 04/30/2020 08:27 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 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 `40-global`. `10-global`. It doesn't need to be a symlink.
* The entire contents of this file should be:
```
Host *
user dennis
```
Substitute your username for `dennis`. be a line: `user dennis` (or `user irene`).
Once the above setup is complete run ssh HOST and you should be connected.