pull/1101/head
Maxim Devaev 10 months ago
parent a53bfb3153
commit ef7508c91a

@ -32,7 +32,7 @@ To obtain it in the Web Terminal, type `su -` and then enter the `root` user pas
Sometimes the actual owner of a PiKVM device and the user who is allowed to use it are different people. Sometimes the actual owner of a PiKVM device and the user who is allowed to use it are different people.
So you may want to disable console access from the Web UI. To do this, use the following: So you may want to disable console access from the Web UI. To do this, use the following:
``` ```console
[root@pikvm ~]# rw [root@pikvm ~]# rw
[root@pikvm ~]# systemctl disable --now kvmd-webterm [root@pikvm ~]# systemctl disable --now kvmd-webterm
[root@pikvm ~]# ro [root@pikvm ~]# ro
@ -44,7 +44,7 @@ To obtain it in the Web Terminal, type `su -` and then enter the `root` user pas
----- -----
## Changing the Linux password ## Changing the Linux password
``` ```console
[root@pikvm ~]# rw [root@pikvm ~]# rw
[root@pikvm ~]# passwd root [root@pikvm ~]# passwd root
[root@pikvm ~]# ro [root@pikvm ~]# ro
@ -54,7 +54,7 @@ To obtain it in the Web Terminal, type `su -` and then enter the `root` user pas
----- -----
## Changing the KVM password ## Changing the KVM password
``` ```console
[root@pikvm ~]# rw [root@pikvm ~]# rw
[root@pikvm ~]# kvmd-htpasswd set admin [root@pikvm ~]# kvmd-htpasswd set admin
[root@pikvm ~]# ro [root@pikvm ~]# ro
@ -63,7 +63,7 @@ To obtain it in the Web Terminal, type `su -` and then enter the `root` user pas
Please note that `admin` is a name of a default user. It is possible to create several different users Please note that `admin` is a name of a default user. It is possible to create several different users
with different passwords to access the Web UI, but keep in mind that they all have the same rights: with different passwords to access the Web UI, but keep in mind that they all have the same rights:
``` ```console
[root@pikvm ~]# kvmd-htpasswd set <user> # Sets a new user with password [root@pikvm ~]# kvmd-htpasswd set <user> # Sets a new user with password
[root@pikvm ~]# kvmd-htpasswd list # Show the list of users [root@pikvm ~]# kvmd-htpasswd list # Show the list of users
[root@pikvm ~]# kvmd-htpasswd del <user> # Removes/deletes a user [root@pikvm ~]# kvmd-htpasswd del <user> # Removes/deletes a user
@ -86,7 +86,7 @@ It is strongly recommended to enable it if you expose the PiKVM in the big and s
1. Update OS and reboot: 1. Update OS and reboot:
``` ```console
[root@pikvm ~]# rw [root@pikvm ~]# rw
[root@pikvm ~]# pacman -Syu [root@pikvm ~]# pacman -Syu
[root@pikvm ~]# reboot [root@pikvm ~]# reboot
@ -95,18 +95,18 @@ It is strongly recommended to enable it if you expose the PiKVM in the big and s
2. **Make sure that NTP is running otherwise you will not be able to access** (`timedatectl` command). 2. **Make sure that NTP is running otherwise you will not be able to access** (`timedatectl` command).
The timezone doesn't matter. The timezone doesn't matter.
3. Install the `Google Authenticator` app to your mobile device 3. Install the **Google Authenticator** app to your mobile device
([iOS](https://apps.apple.com/us/app/google-authenticator/id388497605), ([iOS](https://apps.apple.com/us/app/google-authenticator/id388497605),
[Android](https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2)). It will generate one-time access codes. [Android](https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2)). It will generate one-time access codes.
4. Create a secret for one-time codes on PiKVM: 4. Create a secret for one-time codes on PiKVM:
``` ```console
[root@pikvm ~]# rw [root@pikvm ~]# rw
[root@pikvm ~]# kvmd-totp init [root@pikvm ~]# kvmd-totp init
[root@pikvm ~]# ro [root@pikvm ~]# ro
``` ```
5. Run the `Google Authenticator` and scan the QR code. 5. Run the Google Authenticator and scan the QR code.
6. Now, on the PiKVM login page, you will need to add 6 digits to the `2FA code` field. 6. Now, on the PiKVM login page, you will need to add 6 digits to the `2FA code` field.

@ -56,7 +56,7 @@ This protects the data from damage in the event of a sudden loss of power.
1. Remount internal storage to read-write mode manually: 1. Remount internal storage to read-write mode manually:
``` ```console
[root@pikvm ~]# kvmd-helper-otgmsd-remount rw [root@pikvm ~]# kvmd-helper-otgmsd-remount rw
``` ```
@ -64,7 +64,7 @@ This protects the data from damage in the event of a sudden loss of power.
3. Remount internal storage back to safe read-only mode: 3. Remount internal storage back to safe read-only mode:
``` ```console
[root@pikvm ~]# kvmd-helper-otgmsd-remount ro [root@pikvm ~]# kvmd-helper-otgmsd-remount ro
``` ```
@ -88,14 +88,14 @@ Here some options:
1. Remount internal storage to read-write mode manually: 1. Remount internal storage to read-write mode manually:
``` ```console
[root@pikvm ~]# kvmd-helper-otgmsd-remount rw [root@pikvm ~]# kvmd-helper-otgmsd-remount rw
``` ```
2. Create an empty image file in `/var/lib/kvmd/msd` (this is the internal storage of PiKVM images) 2. Create an empty image file in `/var/lib/kvmd/msd` (this is the internal storage of PiKVM images)
of desired size (512MB in this example) and format it to FAT32: of desired size (512MB in this example) and format it to FAT32:
``` ```console
[root@pikvm ~]# dd if=/dev/zero of=/var/lib/kvmd/flash.img bs=1M count=512 status=progress [root@pikvm ~]# dd if=/dev/zero of=/var/lib/kvmd/flash.img bs=1M count=512 status=progress
[root@pikvm ~]# loop=$(losetup -f) [root@pikvm ~]# loop=$(losetup -f)
[root@pikvm ~]# echo -e 'o\nn\np\n1\n\n\nt\nc\nw\n' | fdisk /var/lib/kvmd/flash.img [root@pikvm ~]# echo -e 'o\nn\np\n1\n\n\nt\nc\nw\n' | fdisk /var/lib/kvmd/flash.img
@ -106,7 +106,7 @@ Here some options:
3. Remount internal storage back to safe read-only mode: 3. Remount internal storage back to safe read-only mode:
``` ```console
[root@pikvm ~]# kvmd-helper-otgmsd-remount ro [root@pikvm ~]# kvmd-helper-otgmsd-remount ro
``` ```
@ -151,7 +151,7 @@ At the same time, you will be able to upload images via PiKVM Web UI to NFS, and
1. Make some preparations: 1. Make some preparations:
``` ```console
[root@pikvm ~]# rw [root@pikvm ~]# rw
[root@pikvm ~]# pacman -Syu [root@pikvm ~]# pacman -Syu
[root@pikvm ~]# pacman -S nfs-utils [root@pikvm ~]# pacman -S nfs-utils
@ -209,7 +209,7 @@ So, to add a second virtual drive, follow this:
1. Switch the filesystem to read-write mode: 1. Switch the filesystem to read-write mode:
``` ```console
[root@pikvm ~]# rw [root@pikvm ~]# rw
``` ```
@ -231,7 +231,7 @@ So, to add a second virtual drive, follow this:
3. Perform reboot: 3. Perform reboot:
``` ```console
[root@pikvm ~]# reboot [root@pikvm ~]# reboot
``` ```
@ -246,19 +246,19 @@ The full list of options can be found by running `kvmd-otgmsd --help`.
1. Switch the filesystem to read-write mode: 1. Switch the filesystem to read-write mode:
``` ```console
[root@pikvm ~]# rw [root@pikvm ~]# rw
``` ```
2. Create an empty image file with desired size (1GB in this example): 2. Create an empty image file with desired size (1GB in this example):
``` ```console
[root@pikvm ~]# dd if=/dev/zero of=/root/flash.img bs=1M count=1000 status=progress [root@pikvm ~]# dd if=/dev/zero of=/root/flash.img bs=1M count=1000 status=progress
``` ```
3. Connect it to the drive `1` (the creation process is described in the previous section): 3. Connect it to the drive `1` (the creation process is described in the previous section):
``` ```console
[root@pikvm ~]# kvmd-otgmsd -i 1 --set-rw=1 --set-cdrom=0 --set-image=/root/flash.img [root@pikvm ~]# kvmd-otgmsd -i 1 --set-rw=1 --set-cdrom=0 --set-image=/root/flash.img
``` ```
@ -270,7 +270,7 @@ The full list of options can be found by running `kvmd-otgmsd --help`.
5. View the drive state: 5. View the drive state:
``` ```console
[root@pikvm ~]# kvmd-otgmsd -i 1 [root@pikvm ~]# kvmd-otgmsd -i 1
Image file: /root/flash.img Image file: /root/flash.img
CD-ROM flag: no CD-ROM flag: no
@ -279,19 +279,19 @@ The full list of options can be found by running `kvmd-otgmsd --help`.
6. To disable the flash drive and view the files on it from the PiKVM, run: 6. To disable the flash drive and view the files on it from the PiKVM, run:
``` ```console
[root@pikvm ~]# kvmd-otgmsd -i 1 --unlock --eject [root@pikvm ~]# kvmd-otgmsd -i 1 --unlock --eject
``` ```
7. Don't forget to remount the root filesystem to read-only mode: 7. Don't forget to remount the root filesystem to read-only mode:
``` ```console
[root@pikvm ~]# ro [root@pikvm ~]# ro
``` ```
8. You can download the resulting image via SCP or mount it as a loop device on the PiKVM: 8. You can download the resulting image via SCP or mount it as a loop device on the PiKVM:
``` ```console
[root@pikvm ~]# mount -o loop /root/flash.img /mnt [root@pikvm ~]# mount -o loop /root/flash.img /mnt
[root@pikvm ~]# ls /mnt [root@pikvm ~]# ls /mnt
[root@pikvm ~]# umount /mnt [root@pikvm ~]# umount /mnt
@ -314,7 +314,7 @@ does not recognize it correctly and even refuses to work with USB keyboard and m
1. Switch the filesystem to read-write mode: 1. Switch the filesystem to read-write mode:
``` ```console
[root@pikvm ~]# rw [root@pikvm ~]# rw
``` ```
@ -329,7 +329,7 @@ does not recognize it correctly and even refuses to work with USB keyboard and m
3. Perform reboot: 3. Perform reboot:
``` ```console
[root@pikvm ~]# reboot [root@pikvm ~]# reboot
``` ```
@ -363,7 +363,7 @@ Once you have the desired USB stick perform the following on the RPi to create t
1. Insert Windows based USB stick into Pi4, generated with Microsoft USB creation tool. SSH to PiKVM as root. 1. Insert Windows based USB stick into Pi4, generated with Microsoft USB creation tool. SSH to PiKVM as root.
``` ```console
# dmesg # dmesg
[ 3025.025401] usb-storage 2-1:1.0: USB Mass Storage device detected [ 3025.025401] usb-storage 2-1:1.0: USB Mass Storage device detected
[ 3025.038911] scsi host0: usb-storage 2-1:1.0 [ 3025.038911] scsi host0: usb-storage 2-1:1.0
@ -382,13 +382,13 @@ Once you have the desired USB stick perform the following on the RPi to create t
2. mount msd folder as read/write 2. mount msd folder as read/write
``` ```console
# kvmd-helper-otgmsd-remount rw # kvmd-helper-otgmsd-remount rw
``` ```
3. Create image of USB data PARTITION to an image file, this will take some time, in this case about 12 minutes (RPi4). 3. Create image of USB data PARTITION to an image file, this will take some time, in this case about 12 minutes (RPi4).
``` ```console
# dd if=/dev/sda1 of=/var/lib/kvmd/msd/windows10-2004.bin bs=8M status=progress # dd if=/dev/sda1 of=/var/lib/kvmd/msd/windows10-2004.bin bs=8M status=progress
4458545152 bytes (4.5 GB, 4.2 GiB) copied, 736 s, 6.1 MB/s 4458545152 bytes (4.5 GB, 4.2 GiB) copied, 736 s, 6.1 MB/s
531+1 records in 531+1 records in
@ -398,13 +398,13 @@ Once you have the desired USB stick perform the following on the RPi to create t
4. Correct ownership of new image and make sure the website reports the file as complete. 4. Correct ownership of new image and make sure the website reports the file as complete.
``` ```console
# chown kvmd:kvmd /var/lib/kvmd/msd/windows10-2004.bin # chown kvmd:kvmd /var/lib/kvmd/msd/windows10-2004.bin
``` ```
5. Remount msd folder as read only 5. Remount msd folder as read only
``` ```console
# kvmd-helper-otgmsd-remount ro # kvmd-helper-otgmsd-remount ro
``` ```
@ -421,7 +421,7 @@ E.g. in a AMI BIOS the boot device is called "Linux File-CD Gadget 0504".
* Create Ventoy image (on Ubuntu x86 machine) (Unaware of a windows version). * Create Ventoy image (on Ubuntu x86 machine) (Unaware of a windows version).
* There is an assumption that you know basic linux to understand that not all dev devices are named exactly like the below * There is an assumption that you know basic linux to understand that not all dev devices are named exactly like the below
``` ```console
# dd if=/dev/zero of=ventoy.img bs=1M count=4700 status=progress # dd if=/dev/zero of=ventoy.img bs=1M count=4700 status=progress
``` ```
@ -431,7 +431,7 @@ E.g. in a AMI BIOS the boot device is called "Linux File-CD Gadget 0504".
* On the Ubuntu machine * On the Ubuntu machine
* At the time of this, it was 1.0.51, change to latest version * At the time of this, it was 1.0.51, change to latest version
``` ```console
# wget https://github.com/ventoy/Ventoy/releases/download/v1.0.51/ventoy-1.0.51-linux.tar.gz # wget https://github.com/ventoy/Ventoy/releases/download/v1.0.51/ventoy-1.0.51-linux.tar.gz
# tar zxvf ventoy-1.0.51-linux.tar.gz # tar zxvf ventoy-1.0.51-linux.tar.gz
# sudo losetup -f ventoy.img # sudo losetup -f ventoy.img
@ -444,7 +444,7 @@ E.g. in a AMI BIOS the boot device is called "Linux File-CD Gadget 0504".
* Either cp/scp over the .iso you downloaded from the Media tool or use a NFS mount * Either cp/scp over the .iso you downloaded from the Media tool or use a NFS mount
``` ```console
sudo cp windows.iso /media/XXX/ventoy sudo cp windows.iso /media/XXX/ventoy
sudo umount /dev/loopXX sudo umount /dev/loopXX
# This is going to be different for everyone, please choose the same one you mounted earlier # This is going to be different for everyone, please choose the same one you mounted earlier
@ -456,14 +456,14 @@ ssh into the Ubuntu system (Or whatever OS you are using)
* On PiKVM * On PiKVM
``` ```console
# cd /var/lib/kvmd/msd # cd /var/lib/kvmd/msd
# mount -o remount,rw . # mount -o remount,rw .
``` ```
* On Ubuntu * On Ubuntu
``` ```console
# scp ventoy.img root@pikvm:/var/lib/kvmd/msd # scp ventoy.img root@pikvm:/var/lib/kvmd/msd
``` ```

@ -13,7 +13,7 @@ any other setting or functionality needs to be redirected to the [Tailscale supp
1. Install the client, run `tailscaled` service and register it in the network: 1. Install the client, run `tailscaled` service and register it in the network:
``` ```console
[root@pikvm ~]# rw [root@pikvm ~]# rw
[root@pikvm ~]# pacman -Syu [root@pikvm ~]# pacman -Syu
[root@pikvm ~]# pacman -S tailscale-pikvm [root@pikvm ~]# pacman -S tailscale-pikvm
@ -25,13 +25,13 @@ any other setting or functionality needs to be redirected to the [Tailscale supp
3. After success, perform reboot to make sure that everything is working correctly: 3. After success, perform reboot to make sure that everything is working correctly:
``` ```console
[root@pikvm ~]# reboot [root@pikvm ~]# reboot
``` ```
4. Now you can try to view the IP address of Tailscale network interface: 4. Now you can try to view the IP address of Tailscale network interface:
``` ```console
[root@pikvm ~]# ip addr show tailscale0 [root@pikvm ~]# ip addr show tailscale0
``` ```
@ -59,7 +59,7 @@ If everything is successful, PiKVM will become a member of your VPN network.
If something not work, the usual advice is to completely remove the Tailscale from PiKVM and perform a clean installation: If something not work, the usual advice is to completely remove the Tailscale from PiKVM and perform a clean installation:
``` ```console
[root@pikvm ~]# rw [root@pikvm ~]# rw
[root@pikvm ~]# pacman -Rscnd tailscale [root@pikvm ~]# pacman -Rscnd tailscale
[root@pikvm ~]# rm -rf /var/lib/tailscale /var/cache/tailscale [root@pikvm ~]# rm -rf /var/lib/tailscale /var/cache/tailscale

@ -1,8 +1,8 @@
# VNC # VNC
As an alternative to the web interface, a regular VNC client can be used to access to the PiKVM. As an alternative to the Web UI, a regular VNC client can be used to access to the PiKVM.
The main advantage of VNC over the browser is the ability to expand the image to the full screen, The main advantage of VNC over the browser is the ability to expand the image to the full screen,
as well as complete interception of all keyboard keys. In some cases, VNC will be more responsive as well as complete interception of all keyboard shortcuts. In some cases, VNC will be more responsive
than the browser, especially on weak client computers. than the browser, especially on weak client computers.
!!! warning !!! warning

Loading…
Cancel
Save