MAC 15: 2024-09-14 13:46:57
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
#### Deploy a storage account :
|
||||
```text
|
||||
az deployment group create \
|
||||
--resource-group <resource-group-name> \
|
||||
--template-file <filename>.bicep \
|
||||
--parameters @<filename>.parameters.json
|
||||
```
|
||||
|
||||
### Validate the deployment:
|
||||
```text
|
||||
az storage account show \
|
||||
--name <storage-account-name> \
|
||||
--resource-group <resource-group-name>
|
||||
```
|
||||
|
||||
#### Kommentare :
|
||||
// This is your primary NIC.
|
||||
|
||||
**Mehrspaltige Kommentare**
|
||||
|
||||
/* This Bicep file assumes the key vault already exists and
|
||||
is in same subscription and resource group as the deployment. \*/
|
||||
@@ -0,0 +1,9 @@
|
||||
|
||||
Strings formattieren :
|
||||
###### String-Interpolation mit`$`
|
||||
|
||||
'Console.WriteLine(**$**"Hello, {name}! Today is {date.DayOfWeek}, it's {date:HH:mm} now.");'
|
||||
|
||||
|
||||
|
||||
#format
|
||||
+6
-17
@@ -4,17 +4,13 @@ Mittwoch, 2. Januar 2019
|
||||
|
||||
08:42
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
**Mit Diskpart den USB-Stick vorbereiten**
|
||||
|
||||
Geben Sie **diskpart**
|
||||
|
||||
ein und danach **list disk**
|
||||
|
||||
ein. Tippen Sie den Befehl **select disk \<Nummer** des USB-Sticks aus list disk\>
|
||||
ein. Tippen Sie den Befehl \*\*select disk \<Nummer\*\* des USB-Sticks aus list disk>
|
||||
|
||||
ein. Sie erkennen den Stick an dessen Größe. Mit **clean**
|
||||
|
||||
@@ -24,13 +20,11 @@ erstellen Sie eine neue primäre Partition, die Sie mit **active**
|
||||
|
||||
aktivieren. Dies ist für den Bootvorgang notwendig, denn nur so kann der USB-Stick booten.
|
||||
|
||||
|
||||
|
||||
Sollte die install.wim Datei des Windows-Images größer als 4GB sein, wird es beim Kopiervorgang zu einem Fehler kommen.
|
||||
|
||||
Am Schluss des Kopiervorgangs erscheint dann die Meldung, dass die Datei zu groß ist.
|
||||
|
||||
Diese Meldung erscheint, da hier das FAT32-Filesystem an seine Grenzen stößt und keine \>4GB-Dateien verarbeiten kann.
|
||||
Diese Meldung erscheint, da hier das FAT32-Filesystem an seine Grenzen stößt und keine >4GB-Dateien verarbeiten kann.
|
||||
|
||||
Um dennoch den UEFI-USB-Stick fertigstellen zu können, müssen Sie einen kleinen Trick anwenden:
|
||||
|
||||
@@ -42,19 +36,14 @@ Geben Sie hierzu einfach folgenden Befehl ein:
|
||||
|
||||
> **Dism /Split-Image /ImageFile:E:\\sources\\install.wim /SWMFile:C:\\Users\\Administrator\\Desktop\\install.swm /FileSize:3000**
|
||||
|
||||
- **/ImageFile:** Pfad der Quell-Datei install.wim im sources Ordner des Windows-ISOs
|
||||
**/ImageFile:** Pfad der Quell-Datei install.wim im sources Ordner des Windows-ISOs
|
||||
|
||||
- **/SWMFile:** Pfad der gesplitteten Ziel-Dateien
|
||||
**/SWMFile:** Pfad der gesplitteten Ziel-Dateien
|
||||
|
||||
- **/FileSize:** maximale Größe der gesplitteten Ziel-Dateien in MB
|
||||
**/FileSize:** maximale Größe der gesplitteten Ziel-Dateien in MB
|
||||
|
||||
|
||||
Aus \<\<https://www.thomas-krenn.com/de/wiki/Windows_UEFI_Boot-Stick_unter_Windows_erstellen\>>
|
||||
|
||||
Aus \<<https://www.thomas-krenn.com/de/wiki/Windows_UEFI_Boot-Stick_unter_Windows_erstellen>\>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#usb #cmd
|
||||
|
||||
@@ -11,4 +11,5 @@ url = https://ralfk:glpat-uETsD1yCEZfxTxf-stK8@portal.ralfkoop.de/ralfk/myfirstb
|
||||
git config --list --show-origin
|
||||
```
|
||||
|
||||
|
||||
#git, #technik, #config
|
||||
@@ -0,0 +1,10 @@
|
||||
|
||||
Change the Resolution :
|
||||
|
||||
nano /etc/default/grub
|
||||
|
||||
Change :
|
||||
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:1920x1080
|
||||
|
||||
|
||||
|
||||
@@ -16,5 +16,15 @@ View / Toogle DeveloperTools
|
||||
|
||||
|
||||
|
||||
#### How to link between vaults
|
||||
|
||||
Open up a note, right click on the tab, and select _Copy Obsidian URL_. It looks something like this: `obsidian://open?vault=o4e-06&file=00%20Obsidian%20for%20Everyone%20course%2F00-02%20First%20steps%20with%20Obsidian%2FWorking%20with%20multiple%20vaults`
|
||||
|
||||
In the other vault, type it out in this format:
|
||||
|
||||
```
|
||||
[text here](paste the link here)
|
||||
```
|
||||
[Andere Vault](obsidian://open?vault=SecondBrain&file=Templates%2FNeue-Notiz)
|
||||
|
||||
#obsidian #config
|
||||
+33
-33
@@ -1,34 +1,34 @@
|
||||
|
||||
|
||||
Each word in the search term is matched independently within each file. To search for an exact phrase, surround it with quotes, for example `"star wars"`. To search for quoted text within an exact phrase, you can _escape_ the quotes by adding a backslash (`\`) in front of the quote, for example `"they said \"hello\" to each other"`.
|
||||
|
||||
You can control whether to return files that contain _all_ the words in your search term, or _any_ of the words:
|
||||
|
||||
- `meeting work` returns files that contain both `meeting` and `work`.
|
||||
- `meeting OR work` returns files that contain either `meeting` or `work`.
|
||||
|
||||
You can even combine the two in the same search term.
|
||||
|
||||
- `meeting work OR meetup personal` returns files for work meetings and personal meetups.
|
||||
|
||||
You can use parentheses to control the priority of each expression.
|
||||
|
||||
- `meeting (work OR meetup) personal` returns files that contain `meeting`, `personal`, and either `work` or `meetup`.
|
||||
|
||||
To exclude, or negate, a word from the search results, add a hyphen (`-`) in front of it:
|
||||
|
||||
- `meeting -work` returns files that contain `meeting` but not `work`.
|
||||
|
||||
You can exclude multiple expressions:
|
||||
|
||||
- `meeting -work -meetup` returns files that contain `meeting` but not `work` or `meetup`.
|
||||
|
||||
You can exclude a combination of expressions using parentheses:
|
||||
|
||||
- `meeting -(work meetup)` returns files that contain `meeting` but not _both_ `work` and `meetup`.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Each word in the search term is matched independently within each file. To search for an exact phrase, surround it with quotes, for example `"star wars"`. To search for quoted text within an exact phrase, you can _escape_ the quotes by adding a backslash (`\`) in front of the quote, for example `"they said \"hello\" to each other"`.
|
||||
|
||||
You can control whether to return files that contain _all_ the words in your search term, or _any_ of the words:
|
||||
|
||||
- `meeting work` returns files that contain both `meeting` and `work`.
|
||||
- `meeting OR work` returns files that contain either `meeting` or `work`.
|
||||
|
||||
You can even combine the two in the same search term.
|
||||
|
||||
- `meeting work OR meetup personal` returns files for work meetings and personal meetups.
|
||||
|
||||
You can use parentheses to control the priority of each expression.
|
||||
|
||||
- `meeting (work OR meetup) personal` returns files that contain `meeting`, `personal`, and either `work` or `meetup`.
|
||||
|
||||
To exclude, or negate, a word from the search results, add a hyphen (`-`) in front of it:
|
||||
|
||||
- `meeting -work` returns files that contain `meeting` but not `work`.
|
||||
|
||||
You can exclude multiple expressions:
|
||||
|
||||
- `meeting -work -meetup` returns files that contain `meeting` but not `work` or `meetup`.
|
||||
|
||||
You can exclude a combination of expressions using parentheses:
|
||||
|
||||
- `meeting -(work meetup)` returns files that contain `meeting` but not _both_ `work` and `meetup`.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#obsidian #howto
|
||||
@@ -0,0 +1,6 @@
|
||||
|
||||
In den Einstellungen muss man sie erstmal vergeben
|
||||
|
||||
| Öffnen der täglichen Notiz (heute) | **strg + shift + d** |
|
||||
| ---------------------------------- | -------------------- |
|
||||
| | |
|
||||
@@ -1,23 +1,23 @@
|
||||
### Übertragen / Sichern von Kategorien in Outlook
|
||||
|
||||
|
||||
1. Notiz erstellen,
|
||||
2. Alle Kategorien dieser Notiz zuordnen
|
||||
3. Notiz exportieren (in einen Ordner im Explorer ziehen)
|
||||
4. Dort ensteht dann eine MSG Datei
|
||||
|
||||
|
||||
Import :_
|
||||
1. Notizen Ordner öffnen
|
||||
2. Notiz aus Explorer in den Ordner ziehen
|
||||
3. Klicken Sie mit der rechten Maustaste auf das Postfach
|
||||
4. Datendateieigenschaften auswählen
|
||||
5. Dort auf Schaltfläche Aufrüsten zu Farbkategorien klicken
|
||||
6. Dann werden alle Kategorien wieder importiert
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#Outlook #hoto
|
||||
### Übertragen / Sichern von Kategorien in Outlook
|
||||
|
||||
|
||||
1. Notiz erstellen,
|
||||
2. Alle Kategorien dieser Notiz zuordnen
|
||||
3. Notiz exportieren (in einen Ordner im Explorer ziehen)
|
||||
4. Dort ensteht dann eine MSG Datei
|
||||
|
||||
|
||||
Import :_
|
||||
1. Notizen Ordner öffnen
|
||||
2. Notiz aus Explorer in den Ordner ziehen
|
||||
3. Klicken Sie mit der rechten Maustaste auf das Postfach
|
||||
4. Datendateieigenschaften auswählen
|
||||
5. Dort auf Schaltfläche Aufrüsten zu Farbkategorien klicken
|
||||
6. Dann werden alle Kategorien wieder importiert
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#Outlook #howto
|
||||
@@ -1,3 +1,6 @@
|
||||
Hier sollen alle Information zu Python rein
|
||||
|
||||
IOS \"Python Editor\" im Appstore um Python zu schreiben
|
||||
Hier sollen alle Information zu Python rein
|
||||
|
||||
IOS \"Python Editor\" im Appstore um Python zu schreiben
|
||||
|
||||
|
||||
#programmieren
|
||||
@@ -1,3 +1,4 @@
|
||||
<<<<<<< HEAD
|
||||
|
||||
|
||||
|
||||
@@ -291,3 +292,299 @@ Sollte man mehrer Module importieren wo der gleiche Funktionname vorkommt kann m
|
||||
|
||||
|
||||
|
||||
=======
|
||||
|
||||
|
||||
|
||||
#### Allgemeine Regeln
|
||||
|
||||
Name / Bezeichner werden immer mit unterstrich getrennt bei mehreren Wörtern
|
||||
mein_zahl = 0
|
||||
|
||||
|
||||
|
||||
#### Variablen
|
||||
|
||||
|
||||
String Variable name = "ralf"
|
||||
Intitger Variable zahl = 3
|
||||
Float variable zahl = 3.1
|
||||
|
||||
|
||||
Variablen verändern Zahl += 1 oder Zahl-=1 oder Zahl /= 1 oder Zahl *= 2
|
||||
Variablen gelten immer nur in ihrem Bereich, zB in einer def erzeugten Variablen gelten nur in der def!!
|
||||
|
||||
|
||||
##### String verketten mit Variablen :
|
||||
print(f"dies ist ein {test}, wobei test eine Variable ist")
|
||||
|
||||
#### Objekte / Datentypen
|
||||
|
||||
List name =["ralf", "sven", 8, 7.1]
|
||||
|
||||
Class Int
|
||||
Class strg
|
||||
Class NoneTyp
|
||||
|
||||
|
||||
|
||||
#### Operatoren / Vergleichsoperatoren
|
||||
|
||||
Plus minus mal geteilt = + - * /
|
||||
Vergleiche == <= >= !=
|
||||
|
||||
<Font size=5><b>Wichtig ist das einrücken !!!</b> </Font>
|
||||
|
||||
#### Bedingungen
|
||||
|
||||
**if** item > a:
|
||||
>befehle
|
||||
|
||||
elif:
|
||||
>befehle
|
||||
|
||||
else:
|
||||
>befehle
|
||||
|
||||
|
||||
#### Schleifen
|
||||
|
||||
|
||||
|
||||
**while** a == b:
|
||||
>befehle
|
||||
|
||||
**for** item in List:
|
||||
>befehle
|
||||
|
||||
**for** item in "schreiben": # Hier ist das ein String, es wird jeder Buchstabe durchgegangen
|
||||
>befehle
|
||||
|
||||
|
||||
|
||||
|
||||
#### Funktionen
|
||||
|
||||
Allgemein:
|
||||
Die Reihenfolge bei den Parametern ist entscheidend.
|
||||
Jede Funktion gibt **immer** etwas zurück
|
||||
Wenn wir nichts zurück geben wird automatisch der Wert None zurück gegeben!!!
|
||||
|
||||
**def** say_hello(name, last_name):
|
||||
>print("Hallo " + name)
|
||||
|
||||
Aufruf der Funktion:
|
||||
say_hello("Ralf","Koop")
|
||||
|
||||
|
||||
**def** maximum(a,b):
|
||||
>if a < b
|
||||
>>return b
|
||||
>
|
||||
else:
|
||||
>>return a
|
||||
|
||||
|
||||
#### Objekte
|
||||
|
||||
**Klasse :**
|
||||
Wichtig Klassennamen fangen mit einem Grißen Buchstaben an
|
||||
class **C**ar:
|
||||
Das hier ist eine init funktion :
|
||||
>def \_\_init\_\_(self): (self ist eine referenz auf das objekt muss immer angegeben werden!)
|
||||
>>self.car_brand = none
|
||||
self.horse_power = none
|
||||
self.color = none
|
||||
|
||||
|
||||
Erzeugen eines Objektes :
|
||||
car1 = Car()
|
||||
|
||||
**Methode :**
|
||||
class Car:
|
||||
> def \_\_init\_\_(self):
|
||||
>>self.car_brand = none
|
||||
self.hors_power = none
|
||||
self.x_position = 5
|
||||
self.y_position = 5
|
||||
>
|
||||
> def drive(self, x, y):
|
||||
>>self.x_position += 5
|
||||
self.y_position +=10
|
||||
|
||||
#### Module
|
||||
|
||||
Module sind einfach nur andere py Dateien in dennen Funktionen oder Variablen stehen. Diese liegen im gleichen Verzeichnis
|
||||
|
||||
Dies kann man mit dem Befehl :
|
||||
**import modulename**
|
||||
in eine Datei importieren.
|
||||
|
||||
Aufgerufen wird das dann mit :
|
||||
modulename.funktion oder
|
||||
modulename.variable
|
||||
|
||||
Man kann auch direkt nur eine Funktion importieren:
|
||||
**from modulename import funktion**
|
||||
|
||||
Sollte man mehrer Module importieren wo der gleiche Funktionname vorkommt kann man diese dann wie folgt importieren (Alias) :
|
||||
**from modulename import funktion as neuerFunktionname**
|
||||
|
||||
|
||||
#### Packages
|
||||
sind Unterordner in denen dann Module sind.
|
||||
Wichtig dort MUSS eine Datei mit dem Namen \_\_init\_\_.py erzeugt werden.
|
||||
Diese Datei kann für automatische Funktionen genutzt werden, die immer ausgeführt werden wenn das Package importiert wird.
|
||||
|
||||
Ein Package zu importieren geht wie folgt :
|
||||
**from packagename.modulename import funktionsname**
|
||||
auch hier kann man wieder den alias nutzen :
|
||||
**from packagename.modulename import funktionsname as aliasname**
|
||||
|
||||
Wenn wir "nur" das Package importieren mit
|
||||
**import packagename**
|
||||
wird nur die init Datei ausgeführt, es sind dann keine Module geladen
|
||||
es sei den in der init datei steht folgendes drin als Variable :
|
||||
**\_\_all\_\_ = ["modulename", "modulename"]**
|
||||
|
||||
Importieren eines kompletten Module geht wie folgt
|
||||
**from packagename import \***
|
||||
|
||||
|
||||
|
||||
=======
|
||||
|
||||
|
||||
#### Allgemeine Regeln
|
||||
|
||||
Name / Bezeichner werden immer mit unterstrich getrennt bei mehreren Wörtern
|
||||
mein_zahl = 0
|
||||
|
||||
|
||||
|
||||
#### Variablen
|
||||
|
||||
|
||||
String Variable name = "ralf"
|
||||
Intitger Variable zahl = 3
|
||||
Float variable zahl = 3.1
|
||||
|
||||
|
||||
Variablen verändern Zahl += 1 oder Zahl-=1 oder Zahl /= 1 oder Zahl *= 2
|
||||
|
||||
#### Objekte / Datentypen
|
||||
|
||||
List name =["ralf", "sven", 8, 7.1]
|
||||
|
||||
Class Int
|
||||
Class strg
|
||||
Class NoneTyp
|
||||
|
||||
|
||||
|
||||
#### Operatoren / Vergleichsoperatoren
|
||||
|
||||
Plus minus mal geteilt = + - * /
|
||||
Vergleiche == <= >= !=
|
||||
|
||||
<Font size=5><b>Wichtig ist das einrücken !!!</b> </Font>
|
||||
|
||||
#### Bedingungen
|
||||
|
||||
**if** item > a:
|
||||
>befehle
|
||||
|
||||
elif:
|
||||
>befehle
|
||||
|
||||
else:
|
||||
>befehle
|
||||
|
||||
|
||||
#### Schleifen
|
||||
|
||||
|
||||
|
||||
**while** a == b:
|
||||
>befehle
|
||||
|
||||
**for** item in List:
|
||||
>befehle
|
||||
|
||||
**for** item in "schreiben": # Hier ist das ein String, es wird jeder Buchstabe durchgegangen
|
||||
>befehle
|
||||
|
||||
|
||||
|
||||
|
||||
#### Funktionen
|
||||
|
||||
Allgemein:
|
||||
Die Reihenfolge bei den Parametern ist entscheidend.
|
||||
Jede Funktion gibt **immer** etwas zurück
|
||||
Wenn wir nichts zurück geben wird automatisch der Wert None zurück gegeben!!!
|
||||
|
||||
**def** say_hello(name, last_name):
|
||||
>print("Hallo " + name)
|
||||
|
||||
Aufruf der Funktion:
|
||||
say_hello("Ralf","Koop")
|
||||
|
||||
|
||||
**def** maximum(a,b):
|
||||
>if a < b
|
||||
>>return b
|
||||
>
|
||||
else:
|
||||
>>return a
|
||||
|
||||
|
||||
#### Objekte
|
||||
|
||||
**Klasse :**
|
||||
Wichtig Klassennamen fangen mit einem Grißen Buchstaben an
|
||||
class **C**ar:
|
||||
Das hier ist eine init funktion :
|
||||
>def \_\_init\_\_(self): (self ist eine referenz auf das objekt muss immer angegeben werden!)
|
||||
>>self.car_brand = none
|
||||
self.horse_power = none
|
||||
self.color = none
|
||||
|
||||
|
||||
Erzeugen eines Objektes :
|
||||
car1 = Car()
|
||||
|
||||
**Methode :**
|
||||
class Car:
|
||||
> def \_\_init\_\_(self):
|
||||
>>self.car_brand = none
|
||||
self.hors_power = none
|
||||
self.x_position = 5
|
||||
self.y_position = 5
|
||||
>
|
||||
> def drive(self, x, y):
|
||||
>>self.x_position += 5
|
||||
self.y_position +=10
|
||||
|
||||
#### Module
|
||||
|
||||
Module sind einfach nur andere py Dateien in dennen Funktionen oder Variablen stehen.
|
||||
|
||||
Dies kann man mit dem Befehl :
|
||||
**import modulename**
|
||||
in eine Datei importieren.
|
||||
|
||||
Aufgerufen wird das dann mit :
|
||||
modulename.funktion oder
|
||||
modulename.variable
|
||||
|
||||
Man kann auch direkt nur eine Funktion importieren:
|
||||
**from modulename import funktion**
|
||||
|
||||
Sollte man mehrer Module importieren wo der gleiche Funktionname vorkommt kann man diese dann wie folgt importieren (Alias) :
|
||||
**from modulename import funktion as neuerFunktionname**
|
||||
|
||||
|
||||
|
||||
#programmieren
|
||||
>>>>>>> origin/main
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
#### Copy Text from one VM to dom:0 or to other VM :
|
||||
|
||||
In a Terminal do
|
||||
```
|
||||
qvm-run --pass-io <src-vm> 'cat /path/to/file_in_src_domain' > /path/to/file_name_in_dom0
|
||||
qvm-run --pass-io personal 'cat /path/to/file_in_src_domain' > /path/to/file_name_in_dom0
|
||||
```
|
||||
@@ -0,0 +1,12 @@
|
||||
|
||||
### Windows
|
||||
|
||||
https://github.com/hagezi/dns-blocklists?tab=readme-ov-file#native
|
||||
|
||||
hier findet man eine Datei mit allen Einträgen für die Hosts datei.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#howto #config
|
||||
@@ -0,0 +1,17 @@
|
||||
|
||||
### Speichern von Kennwörtern wird verhindert
|
||||
|
||||
Das Verhalten hat was mit der Domainsicherheit zu tun, ist standard wenn der RPD Server nicht in der Domain ist!!
|
||||
|
||||
_Computerkonfiguration – Administrative Vorlagen – System – Delegierung von Anmeldeinformationen – Delegierung von gespeicherten Anmeldeinformationen mit reiner NTLM-Serverauthentifizierung zulassen_
|
||||
|
||||
**aktivieren** und bei Server zur Liste hinzufügen: **Anzeigen**… den Dialog aufrufen und die PCs/Server hinzufügen.
|
||||
|
||||
Hier müssen jetzt drei Einträge gesetzt werden
|
||||
\*
|
||||
TERMSRV/*
|
||||
TERMSRV/192.178.12.33 (Ip des RDP Server's)
|
||||
|
||||
|
||||
|
||||
#config #Gruppenrichtlinien
|
||||
@@ -6,7 +6,5 @@ Das ist min ssh https key für github
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Tags
|
||||
#git
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
**Step 1:**
|
||||
|
||||
apt-get update -y && apt-get full-upgrade -y && apt-get dist-upgrade -y && apt autoremove -y && apt autoclean
|
||||
|
||||
**Step 2:**
|
||||
|
||||
apt-get install wget gnupg dirmngr
|
||||
|
||||
**Step 3:**
|
||||
|
||||
wget -q -O - https://archive.kali.org/archive-key.asc | gpg --import
|
||||
|
||||
oder
|
||||
|
||||
**Step: 3**
|
||||
|
||||
wget https://http.kali.org/pool/main/k/kali-archive-keyring/kali-archive-keyring_2024.1_all.deb
|
||||
|
||||
**Step 4:**
|
||||
|
||||
echo "deb http://http.kali.org/kali kali-rolling main non-free contrib" >> /etc/apt/sources.list gpg -a --export ED444FF07D8D0BF6 | sudo apt-key add -
|
||||
|
||||
Oder :
|
||||
|
||||
then on **step 4:**
|
||||
|
||||
echo "deb http://http.kali.org/kali kali-rolling main non-free contrib" >> /etc/apt/sources.list
|
||||
|
||||
**Step 5:**
|
||||
|
||||
apt-get update -y && apt-get full-upgrade -y && apt-get dist-upgrade -y && apt autoremove -y && apt autoclean
|
||||
|
||||
**Step 6:**
|
||||
|
||||
apt-get install kali-linux-default or core, everything and for the biggest image large
|
||||
|
||||
**Script to update:**
|
||||
|
||||
touch kali_update.sh
|
||||
|
||||
echo "apt-get update -y && apt-get full-upgrade -y && apt-get dist-upgrade -y && apt autoremove -y && apt autoclean" > kali_update.sh
|
||||
|
||||
chmod +x kali_update.sh
|
||||
|
||||
**Enable Root Login SSH:**
|
||||
|
||||
/etc/ssh/sshd_config
|
||||
|
||||
PermitRootLogin yes PasswordAuthentication yes
|
||||
|
||||
### Some Tools:
|
||||
|
||||
**Install PIP**
|
||||
|
||||
apt install python3-pip
|
||||
|
||||
**Enable Remote GUI:**
|
||||
|
||||
Install Gui:
|
||||
|
||||
First Create a Firewall Rule for Port 5900 and 5901 in Google Cloud on 0.0.0.0/0
|
||||
|
||||
apt-get install xfce4 xfce4-goodies -y
|
||||
|
||||
**Configure:**
|
||||
|
||||
nano ~/.vnc/xstartup
|
||||
|
||||
Put:
|
||||
|
||||
#!/bin/bash xrdb $HOME/.Xresources startxfce4 &
|
||||
|
||||
chmod +x ~/.vnc/xstartup
|
||||
|
||||
First Try with tightvncserver
|
||||
|
||||
apt-get install tightvncserver
|
||||
|
||||
Then try with X11vnc if you need.
|
||||
|
||||
apt-get install x11vnc novnc net-tools
|
||||
|
||||
Set PW: x11vnc -storepasswd
|
||||
|
||||
Check: ps wwwaux | grep auth
|
||||
|
||||
Connect with RealVNC
|
||||
@@ -6,6 +6,8 @@
|
||||
- Project Manager
|
||||
- Git Graph
|
||||
- Favorites Panel
|
||||
- Gruvbox Theme (Light medium)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user