https://www.hudic.si

Uporabni nasveti

Apple

Kako zagnati adhoc spletni strežnik

Včasih želimo zagnati adhoc spletni strežnik, da preizkusimo kako bi določena koda delovala, brez da bi nameščali namenski speltni strežnik.
Če imate nameščen python programski jezik, lahko to naredite kar iz orodne vrstice (CLI)

#python -m http.server "port"

Primer
#python -m http.server 7000


Če imate nameščen PHP lahko podobno naredit iz orodne vrstice (CLI):

#php -S 127.0.0.1 -p "port"

Primer
#php -S 127.0.0.1 -p 7000

Secure shell povezava javi napako

Ko se želimo povezati preko secure shell povezave javi napako:

ssh test@test.local
Unable to negotiate with test.localport 22: no matching key exchange method found. Their offer: diffie-hellman-group14-sha1


Kaj storiti?

V novejših različicah ssh konfiguracije so se odstranili naketeri manj varni protokoli. Potrebno jih je dodati. Predlaga se, da za vsako destinacijo posebaj naredite vnos in en v konfiguracijsko datoteko, ki velja za cel sistem, ker s tem manjšate varnost naprave iz katere se povezujete.

V osebnem iemniku je potrebno narediti config datoteho pord .ssh mapo.

nano $user/.ssh/config

v datoteko dodamo naslednji zapis:

Host test.local
KexAlgorithms +diffie-hellman-group1-sha1
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc

S tem se popravi samo povezava do test.local. Če želite narediti za vse, je potrebno v host vrstici namesto test.local dodati *.

"no matching cipher found" pri povezovanju s SSH klientom

Pred nekaj dnvei sem se poskušal priklopiti na eno starejšo napravo preko SSH protokola, a sem dobil nazaj naslednjo napako:
no matching cipher found. Their offer: aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc

Napako, ki jo javi, ni problem klienta ampak odjemalca, ker le ta podpira samo "staro" slabo šifriranje, novejši klienti, pa tega nimajo omogočeno. Če želimo se povezati na to staro napravo lahko uporabimo dva načina. En način je, da omogočimo tudi šibkejše šifriranje ali pa v ukazni vrstici za SSH definiramo kateri šifrirni način bomo uporabili.

1. Omogoči šibke šifrirne načine:
Macos
sudo nano /etc/ssh/ssh_conf

omogoči je potrebno dve vrstici (pobrisati # simbol):
# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc
# MACs hmac-md5,hmac-sha1,umac-64@openssh.com

Linux
sudo nano /etc/ssh/ssh_conf

omogočiti je potrebno dve vrstici (pobrisati # simbol) in ponovno zagnati SSH deamon:

# KexAlgorithms diffie-hellman-group1-sha1,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sh>
# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc

sudo sudo systemctl restart ssh

2. Uporabiti šibkeši šifrirni način v SSH ukazni vrstici
ssh -c aes256-cbc test@test.local

sshuttle - VPN preko SSH

V današnjih domačih omrežjih imamo polno servisov, do katerih bi želeli prihajati od kjerkoli. Najboljša možnost je uporabiti VPN (Virtualno Navidezno Omrežje). Za to moramo imeti usmerjevalnik/požarni zid, ki to zna zaključevati in seveda moramo znati tudi namestiti in nastaviti. Alternativa temu je lahko SSH VPN, preko katerega lahko peljemo ves TCP promet ali pa samo promet, ki je namenjen v naše domače omrežje.

No svojem usmerjevalniku moramo "forwardirati" port do SSH steržnika. Privzeti je 22, a predlaga se, da se uporabi alternativni. Seveda ne pozabimo na zaščito SSH protokola, a to je zgodba za drugi prispevek.

Ko smo namestili in zaščitili SSH protokol na linux strežniku in do njega lahko dostopamo iz kjerkoli, bomo za vzpostavitev SSH VPN-ja potrebovali program SSHUTTLE. Namestimo ga lahko na linux distribucije in macos, z uporabo homebrew-ja.

Nemastitev za linux (debian in derivati)
sudo apt install sshuttle

Namestitev za macos (homebrew je obvezen)
brew install sshuttle

Ko imamo SSHUTTLE nameščen vpišemo naslednji ukaz:
sshuttle -r sshuser@remote-ip:remote-port ip-adresni-naslov/maska —dns —to-ns DNS-ip -v

—dns: pošlji vse DNS zahtevke preko SSH VPNja
—to-ns: definiramo oddaljen DNS strežmik, ki ga bomo uporabljali namesto privzetega
-v: izpiši dogajanje na SSH VPN-ju


Moram naglasiti, da SSH VPN deluje samo s TCP prometom in DNS prometom. Preko te povezav ne morete pošiljati ICMP in UDP prometa (razen DNS).

Namestitev macos BigSur in Monterey na nepodprte Apple naprave

Namestitev Apple macos (BigSur in Monterey) na nepodprto Apple strojno opremo. Čeprav je le ta še vedno dovolj zmogljiva, se je Apple odločil, da ne bo več uradno podpru najnovejših različic na tej strojni opremi. Skupina dobrih ljudi je naredila programske spremembe, da se lahko namesti tudi najnovejše različice in ob tem ne zgubite uporabnosti.

Na naslednji povezavi imate dostop do OpenCore Legacy Patcher-ja.
Če lažje sledite navodilom na posnetku si poglejte youtube posnetek.

Pri meni delujeta dva taka mac-a (Macbook air 2012 in Macbook pro 2012).
Podaljšal sem življenje teh naprav vsaj še za nekaj let.

Homebrew

Homebrew je "skupek" programov, ki manjkajo v apple operacijskem sistemu.
Za mene osebno nujnih programo. Kot primer so, wget, htop, cask, youtube-dl, imagemagick, itd.

Predno namestimo homebrew, moramo namestiti še xcode.
xcode-select —install

Homebrew se namesti na naslednji način:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Namestitev wget programa:
brew install wget

Nadgradnja macos iz opravilne vrstice

Macos lahko nadgradimo na več načinov, zato bomo pogledali, kako se naredi nadgradnja v opravilni vrstici (terminalu)

V terminalu zaženemo naslednji ukaz:
softwareupdate -i

S tem ukazom povprašamo apple strežnike, če obstaja kakšen paket nadgradenj.
Če želimo namestiti vse popravke pomen napišemo naslednji ukaz:
softwareupdate -i -a

Če želimo namestiti samo določen paket napišemo naslednji ukaz:
softwareupdate -i 'MacOS Catalina 10.15.7 Update-'