https://www.hudic.si

Uporabni nasveti

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

Framework prenosnik pojem popravljivosti

Pred dobrim letom dni sem začenjal spremljati podjetje Frame.work, ki je obljubljalo lahko popravljiv in nadgradljiv prenosnik, ki bo imel podobne karakterisike kot Apple prenosniki, Bil sem močno v dvomih, a vseeno nestrpno čakal kaj se bo zgodilo.

Ko so predstavili izdelek, sem se takoj zagrel za napravo in sem si jo želel poskusiti. Sem velik podpornik Right to Repir gibanja. Želim si, da se naprave, ki jih kupim, da enostavno popravili ali nadgraditi. Lahko sam, lahko pa pri pooblaščenih ali nepooblaščenih servisih. Framework prenosnik je definitivno popravljil in to do take mere, da lahko to opravite sami. Ponujajo vse rezervene dele in tudi navodil, kako to zamenjati. Polagam velike upe na njih, da uspejo in da ne bo ta prenosnik muha enodnevnica.

Ifixit je ocenil popravljivost prenosnika 10/10.

Na svoj prenosnik, ki se ga dobil pred kratkim, sem namestil elementary os 6.1. Več ali manj vse deluje po namestitvi razen za brezžično povezavo je potrebno nagraditi na zadni linux kernel, ki ibstaja za elementary in pobrisati /lib/firmware/iwlwifi-ty-a0-gf-a0.pnvm datoteko in brezžična povezavo po ponovnem zagonu prenosnika, deluje brez probelma.

Slika mojega rprenosnika:

framework

Več o prenosniku in namestitvi elementary OS-a.

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).