Ar trebui să configurați autentificarea bazată pe cheie pe mașina de la distanță, astfel încât să nu fie necesară nicio interacțiune a utilizatorului.
În instrucțiunile de mai jos, înlocuiți următoarele valori după cum este necesar.
Generați chei publice și private pentru mașina dvs. locală.
Aceste taste vor fi folosite în ISO personalizat. Fiți conștienți de implicațiile de securitate. Oricine obține un dispozitiv USB personalizat se va putea conecta la mașina dvs. de la distanță.
Executați următoarele comenzi pe mașina dvs. locală (de exemplu, nu în Cubic).
cd ~
ssh-keygen -t rsa
Acceptați setările implicite. Ieșirea va arăta cam așa.
Se generează perechea de chei rsa publică/privată.
Introduceți fișierul în care să salvați cheia (/home/n00dles/.ssh/id_rsa):
Introduceți expresia de acces (gol fără expresie de acces):
Introduceți din nou aceeași expresie de acces:
Identificarea dvs. a fost salvată în /home/n00dles/.ssh/id_rsa
Cheia dvs. publică a fost salvată în /home/n00dles/.ssh/id_rsa.pub
Amprenta cheie este:
SHA256:G48dcTOXpUhzWxuzwn8pgdOTP9WmlLtXBCJkkiSEywk n00dles@LOCAL
Imaginea aleatorie a cheii este:
+---[RSA 3072]----+
| xxxxxx x xxx|
| x x xxxxxxxxxx|
| x x xxxxxxx|
| x xxxxxx|
| x x x xxxx|
| x x xxx|
| x x x x x|
| x |
| x |
+----[SHA256]-----+
Configurați autentificarea de la distanță.
Copiați cheia publică pe mașina de la distanță. Fiți conștienți de implicațiile de securitate. Acest lucru va permite conexiuni la distanță de pe orice computer folosind cheia privată corespunzătoare.
ssh-copy-id -i .ssh/id_rsa.pub utilizator@gazdă
Creaza un nou gazde_cunoscute
fișier pe care îl veți copia în ISO personalizat. Acest lucru va permite mediului Live să se conecteze la mașina de la distanță fără a solicita utilizatorului să confirme.
Faceți backup temporar pentru curentul dvs gazde_cunoscute
fişier. Amintiți-vă să înlocuiți n00dles@REMOTE
și REMOTE_LOCATION_PATH
după cum este necesar.
mv ~/.ssh/known_hosts ~/.ssh/known_hosts.original
# Conectați-vă la mașina de la distanță pentru a crea automat un nou fișier `known_hosts`.
sudo mkdir /mnt/remote
sshfs [email protected]:/REMOTE_LOCATION_PATH/ /mnt/remote/
Amprenta cheii ECDSA este SHA256:XXXX.
Sigur doriți să continuați conectarea (da/nu/[amprenta])? da
# Demontați mașina de la distanță.
fusermount -u /mnt/remote
sudo rmdir /mnt/remote
# Salvați noul fișier known_hosts.
mv ~/.ssh/known_hosts ~/
# Reveniți fișierul original known_hosts.
mv ~/.ssh/known_hosts.original ~/.ssh/known_hosts
Personalizați ISO folosind Cubic.
Lansați Cubic și faceți următoarele pe pagina Terminal.
A te asigura sshfs
este instalat astfel încât să ne putem conecta la mașini la distanță.
apt install sshfs
Copiați cheile și cele noi gazde_cunoscute
fișier la sistemul de operare personalizat.
cd /etc/skel
mkdir .ssh
chmod u=rwx,g=,o= .ssh
cd .ssh
Deschideți un browser de fișiere, cum ar fi Nautilus și navigați la local ~/.ssh
director.
Selectați id_rsa
și id_rsa.pub
și trageți-le în fereastra Cubic pentru a le copia în directorul curent, /etc/skel.ssh
.
Deschideți un browser de fișiere, cum ar fi Nautilus și navigați la directorul dvs. de acasă.
Selectați noul gazde_cunoscute
fișier și trageți-l în fereastra Cubic pentru a-l copia în directorul curent, /etc/skel/.ssh
.
Asigurați-vă că permisiunile sunt setate corect pentru aceste fișiere; este foarte important. În Cubic, executați următoarele:
chmod u=rw,g=,o= id_rsa
chmod u=rw,g=r,o=r id_rsa.pub
chmod u=rw,g=r,o=r cunoscute_gazde
ls -la
-rw------- 1 rădăcină rădăcină 2602 7 iunie 09:35 id_rsa
-rw-r--r-- 1 rădăcină rădăcină 566 7 iunie 09:35 id_rsa.pub
-rw-r--r-- 1 root root 222 7 iunie 09:35 know_hosts
Creați un punct de montare pentru locația de la distanță, asigurați-vă că poate fi folosit de toți utilizatorii și adăugați un link numit la distanta
în directorul principal al fiecărui utilizator.
mkdir /mnt/remote
chmod a+rw /mnt/remote
ln -s /mnt/remote /etc/skel/Remote
Creați un script pentru a monta locația de la distanță.
nano /opt/mount_remote.sh
Adăugați următoarele la script. Amintiți-vă să înlocuiți n00dles@REMOTE
și REMOTE_LOCATION_PATH
după cum este necesar.
#!/bin/bash
# Montează locația de la distanță.
# Pentru a monta, utilizați: sshfs [email protected]:/REMOTE_LOCATION_PATH/ /mnt/remote
# Pentru a demonta, utilizați: fusermount -u /mnt/remote
pentru i în {1..5}; do
if mountpoint /mnt/remote; atunci
echo „[email protected]:/REMOTE_LOCATION_PATH este montat.”
pauză
altfel
# Încercați să montați locația la distanță pe /mnt/remote
echo "Încercați # $i să montați [email protected]:/REMOTE_LOCATION_PATH."
dormi $i
sshfs [email protected]:/REMOTE_LOCATION_PATH/ /mnt/remote
fi
Terminat
if mountpoint /mnt/remote; atunci
echo „Montat cu succes [email protected]:/REMOTE_LOCATION_PATH.”
altfel
echo „Nu se poate monta [email protected]:/REMOTE_LOCATION_PATH.”
fi
Tip CTRLX, Y, introduce pentru a salva fișierul.
Puteți utiliza variabile de mediu, cum ar fi $HOME
în scenariu, dacă trebuie.
Faceți scriptul executabil.
chmod +x /opt/mount_remote.sh
Creați un fișier de pornire automată care va rula pentru fiecare utilizator după autentificare.
nano ~/mount_remote.desktop
Pentru XUbuntu 20.04+ sau versiuni mai vechi de Ubuntu, adăugați următoarele la fișier.
[Intrare pe desktop]
Codificare=UTF-8
Versiunea=0.9.4
Tip=Aplicație
Nume=mount_remote
Comentariu=Montați locația la distanță
Exec=/opt/mount_remote.sh
OnlyShowIn=XFCE;
RunHook=0
StartupNotify=fals
Terminal=fals
Ascuns=fals
Pentru Ubuntu 20.04+, adăugați următoarele la fișier.
[Intrare pe desktop]
Tip=Aplicație
Exec=/opt/mount_remote.sh
Ascuns=fals
NoDisplay=fals
X-GNOME-Autostart-enabled=adevărat
Nume[en_US]=Montați telecomanda
Nume = Mount Remote
Comment[en_US]=Montați locația la distanță
Comentariu=Montați locația la distanță
Tip CTRLX, Y, introduce pentru a salva fișierul.
Poti sa adaugi Terminal=adevarat
la *.desktop
fișier în scopuri de depanare, dar locația la distanță va fi imediat demontată odată ce fereastra terminalului se închide automat.
Mutați fișierul de pornire automată în locația corectă. Aveți două opțiuni.
Dacă doriți să utilizați un fișier autostart global, mutați-l în /etc/xdg/autostart
.
mv ~/mount_remote.desktop /etc/xdg/autostart
Dacă doriți ca fiecare utilizator să aibă propria copie a fișierului de pornire automată, mutați-l în /etc/skel/.config/autostart
. (Utilizatorii vor putea șterge acest fișier, deoarece va fi plasat în folderul lor principal).
mkdir -p /etc/skel/.config/autostart
mv ~/mount_remote.desktop /etc/skel/.config/autostart
Continuați să vă personalizați sistemul de operare și să generați un nou ISO.
Testare
Dacă utilizați numele gazdei de la distanță în loc de adresa IP, atunci când testați ISO generat, asigurați-vă că rezoluția DNS funcționează. În VirtualBox, de obicei, setez rețeaua să folosească „Adaptor Bridge” în loc de adaptorul „NAT” implicit.