41 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# Adding SSH keys
 | 
						|
 | 
						|
To incorporate SSH keys, for instance, to enable authentication with a Git server, follow these steps:
 | 
						|
 | 
						|
Step 0: If necessary, generate a keypair, for example using the command:
 | 
						|
 | 
						|
```bash
 | 
						|
ssh-keygen -t ed25519
 | 
						|
```
 | 
						|
 | 
						|
Please note that setting a password for the keypair is not yet tested.
 | 
						|
 | 
						|
Step 1: Create a new file named `yourservice.yaml` within the [secrets](../../../secrets/) directory by executing the following command:
 | 
						|
 | 
						|
```bash
 | 
						|
sops secrets/yourservice.yaml
 | 
						|
```
 | 
						|
 | 
						|
Within this file, create a value that contains your private key. For example:
 | 
						|
 | 
						|
```yaml
 | 
						|
yourservice:
 | 
						|
    ssh: |
 | 
						|
        -----BEGIN OPENSSH PRIVATE KEY-----
 | 
						|
        <...>
 | 
						|
        -----END OPENSSH PRIVATE KEY-----
 | 
						|
```
 | 
						|
 | 
						|
Step 2: Reference this value in [your sops configuration](../../utils/sops/default.nix) as follows:
 | 
						|
 | 
						|
```
 | 
						|
sops.secrets."yourservice/ssh".format = "yaml";
 | 
						|
sops.secrets."yourservice/sss".sopsFile = secrets/youservice.yaml;
 | 
						|
```
 | 
						|
 | 
						|
Step 3: Finally, add the SSH key to your SSH configuration so that it is used correctly when connecting to your host. Add the following lines to your SSH configuraton file:
 | 
						|
 | 
						|
```
 | 
						|
Host yourservice
 | 
						|
    IdentityFile /run/secrets/yourservice/ssh
 | 
						|
```
 |