mirror of https://github.com/pikvm/pikvm.git
update
This commit is contained in:
parent
a53bfb3153
commit
ef7508c91a
16
docs/auth.md
16
docs/auth.md
|
|
@ -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.
|
||||||
|
|
||||||
|
|
|
||||||
54
docs/msd.md
54
docs/msd.md
|
|
@ -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…
Reference in New Issue