Files
Drone-FabAcademy-2025/docs/bootcamp/ssh_config.md

45 lines
1.6 KiB
Markdown

# SSH config files
## Why use ssh config files?
SSH config files are nice to have when you need to connect to multiple servers and don't wanna type the entire an entire serveradress and username.
## What can you do with ssh config files
In SSH config files you can describe how connections should be handled and with which keys you want to use to log in onto a specific server and much more.
## How is a config file structured
```config
Host hostname1
SSH_OPTION value
SSH_OPTION value
Host hostname2
SSH_OPTION value
Host *
SSH_OPTION value
```
A entry always start with `Host` and then the name you wanna give to that host. After that you press enter and then tab. Now you can define the options for the ssh connections.
Example:
```config
HOST gitwaag
Hostname gitlab.waag.org
User git
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yes
```
In this config I defined the host as gitwaag. So I can connect to it using the command ```ssh gitwaag``` instead of ```ssh gitlab.waag.org```.
#### Explanation of the parameters used in this config above
* `Hostname` Defines the hostname/domain of the server
* `User` The username you wanna log in as on the server
* `IdentityFile` Which public key you want to use for the connection
* `IdentitiesOnly` Set it to only use the IdentityFile instead of other authentication files.
For a full list of parameters you can visit https://phoenixnap.com/kb/ssh-config or run `man ssh_config` in the terminal.
## Sources:
* https://linuxize.com/post/using-the-ssh-config-file/
* https://phoenixnap.com/kb/ssh-config