ssh-flash & documentation #1350

Merged
clan-bot merged 16 commits from ssh-flash into main 2024-05-15 20:58:02 +00:00
6 changed files with 29 additions and 19 deletions
Showing only changes of commit 8288048682 - Show all commits

View File

@ -128,9 +128,6 @@ This process involves preparing a suitable hardware and disk partitioning config
clan machines install [MACHINE] --png [PATH]
```
!!!note
If you are using our template `[MACHINE]` would be `jon`
=== "**SSH access**"
Replace `<target_host>` with the **target computers' ip address**:
@ -139,28 +136,37 @@ This process involves preparing a suitable hardware and disk partitioning config
clan machines install [MACHINE] <target_host>
```
!!!note
Building and deploying time will depend on hardware and connection speed.
If you are using our template `[MACHINE]` would be `jon`
!!! success
Your machine is all set up. 🎉 🚀
## Update Your Machines
Clan CLI enables you to remotely update your machines over SSH. This requires setting up a target address for each target machine.
### Setting the Target Host
Replace `host_or_ip` with the actual hostname or IP address of your target machine:
```bash
clan config --machine my-machine clan.networking.targetHost root@host_or_ip
Replace `root@jon` with the actual hostname or IP address of your target machine:
```nix hl_lines="9"
buildClan {
# ...
machines = {
# "jon" will be the hostname of the machine
"jon" = {
# Set this for clan commands use ssh i.e. `clan machines update`
# If you change the hostname, you need to update this line to root@<new-hostname>
# This only works however if you have avahi running on your admin machine else use IP
clan.networking.targetHost = pkgs.lib.mkDefault "root@jon";
};
};
};
```
!!! warning
The use of `root@` in the target address implies SSH access as the `root` user.
Ensure that the root login is secured and only used when necessary.
@ -170,7 +176,7 @@ clan config --machine my-machine clan.networking.targetHost root@host_or_ip
Execute the following command to update the specified machine:
```bash
clan machines update my-machine
clan machines update jon
```
You can also update all configured machines simultaneously by omitting the machine name:
@ -204,11 +210,7 @@ This is useful for machines that are not always online or are not part of the re
## What's next ?
- [**Mesh VPN**](./networking.md): Configuring a secure mesh network.
- [**Mesh VPN**](./mesh-vpn.md): Configuring a secure mesh network.
---
# TODO:
* TODO: How to join others people zerotier
* `services.zerotier.joinNetworks = [ "network-id" ]`
* Controller needs to approve over webinterface or cli

View File

@ -57,7 +57,7 @@ If you followed the quickstart tutorial all necessary secrets are initialized at
## Whats next?
- [Deployment](machines.md): How to remotely deploy your machine
- [Deployment](deploy.md): How to remotely deploy your machine
---
@ -329,6 +329,6 @@ you can now remove `sops.secrets.<secrets> = { };` unless you need to specify mo
## Whats next?
- [Deployment](machines.md): How to remotely deploy your machine
- [Deployment](deploy.md): How to remotely deploy your machine
---

View File

@ -19,6 +19,7 @@
# local> mkdir -p ./machines/machine1
# local> Edit ./machines/machine1/configuration.nix to your liking
machines = {
# "jon" will be the hostname of the machine
jon = {
imports = [
./modules/shared.nix
@ -31,6 +32,8 @@
clanCore.machineIcon = null; # Optional, a path to an image file
# Set this for clan commands use ssh i.e. `clan machines update`
# If you change the hostname, you need to update this line to root@<new-hostname>
# This only works however if you have avahi running on your admin machine else use IP
clan.networking.targetHost = pkgs.lib.mkDefault "root@jon";
# ssh root@flash-installer.local lsblk --output NAME,ID-LINK,FSTYPE,SIZE,MOUNTPOINT
@ -46,6 +49,7 @@
# the controller can be offline and routing still works.
clan.networking.zerotier.controller.enable = true;
};
# "sara" will be the hostname of the machine
sara = {
imports = [
./modules/shared.nix
@ -58,6 +62,8 @@
clanCore.machineIcon = null; # Optional, a path to an image file
# Set this for clan commands use ssh i.e. `clan machines update`
# If you change the hostname, you need to update this line to root@<new-hostname>
# This only works however if you have avahi running on your admin machine else use IP
clan.networking.targetHost = pkgs.lib.mkDefault "root@sara";
# ssh root@flash-installer.local lsblk --output NAME,ID-LINK,FSTYPE,SIZE,MOUNTPOINT

View File

@ -30,5 +30,6 @@ in
"disk"
];
uid = 1000;
openssh.authorizedKeys.keys = config.users.users.root.openssh.authorizedKeys.keys;
};
}

View File

@ -31,5 +31,6 @@ in
"disk"
];
uid = 1000;
openssh.authorizedKeys.keys = config.users.users.root.openssh.authorizedKeys.keys;
};
}