abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 15:11 | IT novinky

    Společnost Proton AG stojící za Proton Mailem a dalšími službami přidala do svého portfolia online tabulky Proton Sheets v Proton Drive.

    Ladislav Hagara | Komentářů: 0
    včera 15:55 | Komunita

    O víkendu (15:00 až 23:00) probíha EmacsConf 2025, tj. online konference vývojářů a uživatelů editoru GNU Emacs. Sledovat ji lze na stránkách konference. Záznamy budou k dispozici přímo z programu.

    Ladislav Hagara | Komentářů: 0
    včera 15:44 | Komunita

    Provozovatel internetové encyklopedie Wikipedia jedná s velkými technologickými firmami o uzavření dohod podobných té, kterou má s Googlem. Snaží se tak zpeněžit rostoucí závislost firem zabývajících se umělou inteligencí (AI) na svém obsahu. Firmy využívají volně dostupná data z Wikipedie k trénování jazykových modelů, což zvyšuje náklady, které musí nezisková organizace provozující Wikipedii sama nést. Automatické programy

    … více »
    Ladislav Hagara | Komentářů: 18
    včera 15:22 | IT novinky

    Evropská komise obvinila síť 𝕏 z porušení unijních pravidel, konkrétně nařízení Evropské unie o digitálních službách (DSA). Vyměřila jí za to pokutu 120 milionů eur (2,9 miliardy Kč). Pokuta je podle názoru amerického ministra zahraničí útokem zahraničních vlád na americký lid. K pokutě se vyjádřil i americký viceprezident: „EU by měla podporovat svobodu projevu, a ne útočit na americké společnosti kvůli nesmyslům“.

    Ladislav Hagara | Komentářů: 14
    5.12. 17:11 | IT novinky

    Společnost Jolla spustila kampaň na podporu svého nového telefonu Jolla Phone se Sailfish OS. Dodání je plánováno na první polovinu příštího roku. Pokud bude alespoň 2 000 zájemců. Záloha na telefon je 99 €. Cena telefonu v rámci kampaně je 499 €.

    Ladislav Hagara | Komentářů: 30
    5.12. 15:11 | IT novinky

    Netflix kupuje Warner Bros. včetně jejích filmových a televizních studií HBO Max a HBO. Za 72 miliard dolarů (asi 1,5 bilionu korun).

    Ladislav Hagara | Komentářů: 2
    5.12. 14:11 | IT novinky

    V Las Vegas dnes končí pětidenní konference AWS re:Invent 2025. Společnost Amazon Web Services (AWS) na ní představila celou řadu novinek. Vypíchnout lze 192jádrový CPU Graviton5 nebo AI chip Trainium3.

    Ladislav Hagara | Komentářů: 0
    5.12. 00:33 | Nová verze

    Firma Proxmox vydala novou serverovou distribuci Datacenter Manager ve verzi 1.0 (poznámky k vydání). Podobně jako Virtual Environment, Mail Gateway či Backup Server je založená na Debianu, k němuž přidává integraci ZFS, webové administrační rozhraní a další. Datacenter Manager je určený ke správě instalací právě ostatních distribucí Proxmox.

    |🇵🇸 | Komentářů: 12
    4.12. 23:44 | Nová verze

    Byla vydána nová verze 2.4.66 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 5 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    4.12. 14:00 | IT novinky

    Programovací jazyk JavaScript (Wikipedie) dnes slaví 30 let od svého oficiálního představení 4. prosince 1995.

    Ladislav Hagara | Komentářů: 1
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (48%)
     (19%)
     (17%)
     (22%)
     (15%)
     (24%)
     (16%)
     (18%)
    Celkem 436 hlasů
     Komentářů: 18, poslední 2.12. 18:34
    Rozcestník

    SSH kluce na usb flashdisku

    14.9.2006 11:07 | Přečteno: 1664× | poslední úprava: 14.9.2006 11:44

    Obcas sa potrebuje kazdy z nas pripojit na nejaky vzdialeny stroj pomocou ssh. Ja osobne na dva. Z prace domov, z prace k priatelke na server a z domu k priatelke na server.
    Kedze stroje su verejne dostupne a logy sa plnili hlaskami o zlom hesle, moja paranoia zacala gradovat. Pristupil som teda k ciastocnej eliminacii rizik, zakazal som password loginy, povolil login len na svoje konto a to len pomocou kluca. To so sebou prinieslo ale dalsiu nevyhodu, ktorou je skladovanie tohoto kluca. Doma s tym problem nemam, ale v praci?
    Tak som si kluc presunul na usb flash disk, ktory som mal vzdy zastrceny v kompe, ked som sa potreboval niekam pripojit. Samozrejme, ked som siel na obed, alebo dlhsie mimo kompu, kluc som braval so sebou. A to znamenalo neustale mounty, unmounty, linky, unlinky. Prestavalo ma to bavit, najma preto, ze to cele bolo okorenene tym, ze som stale musel zadavat heslo ( nie som samovrah, kluc je samozrejme zaheslovany ).

    To ma dozralo a zacal som skumat, ako na to. SSH pouzivam uz roky rokuce a par krat som pocul nieco o nejakom tajuplnom ssh agentovi, ale nikdy som sa nedokopal k tomu, aby som ho trosku nastudoval. Tak som sa do toho pustil.

    Prve, co ma napadlo, bolo ps ax | grep agent. A hu-ha, on uz bezal ( zistil som, ze od startu X, alebo KDE ). Vyskusal som spustit prikaz ssh-add /media/myusbkey1/keys/id_dsa_msk. Vypytal si heslo ku klucu, ktore obratom obdrzal. Nasledne spojenie ku mne domov prebehlo bez hesla. Zajasal som radostou. Huraaaaa, mam to! A tak sa moja diskoteka s usb klucom obmedzila na ranne pripojenie usb-cka, mount, ssh-add, heslo, umount. Ked som siel od kompu, stacilo ssh-add -x + nejake heslo. Samozrejme ako kazdy rypal, musel som to este nejak vylepsit. Co-to som uz pocul o udev, ved ked ten usb kluc strcim do kompu, rozsvieti sa mi pekna modra ikonka usb disku na paneli ( KDE ). A tak som si vymyslel dalsi scenar: rano pridem do prace, strcim tam usb kluc, agent si sam kluce naimportuje a ja mozem usb disk odpojit a cely den si uzivat bezhesloveho pristupu.

    Takze som zacal studovat udev a moznost spustania scriptov pri urcitych eventoch. S udev som sa potrapil, pretoze ani jeden navod, ktory som nasiel na automount usb klucov, u mna nezafungoval. Po case som zistil, ze som vlastnikom usb klucenky, ktora odmieta oznamit svoje SYSFS{serial}. Vygooglil som teda sposob, akym to obist a pokracoval som vo "vyvoji" mojho prveho udev-rule.
    KERNEL="sd*", SYSFS{vendor}="Corsair", SYSFS{model}="Flash*Voyager*", NAME{all_partitions}="myusbkey%n" RUN+="echo lama > /tmp/lama"
    
    Po prvotnom uspechu, ktory sa prejavil tym, ze po vlozeni usb klucenky sa mi v /dev/ objavili zariadenia mysubkey* a v /tmp sa objavil subor lama s rovnakym obsahom, som zacal premyslat, ako to vyuzit tak, aby na mna v Xoch vyskocilo okno a vypytalo si heslo. Najprv som spekuloval s pythonom a qt, kym som si poriadne neprecital manual k ssh-add a nenarazil v nom na zmienku o SSH_ASKPASS. A za par desiatok minut bol na svete tento script:
    #!/bin/sh
    
    # create new file in /etc/udev/rules.d with similar content ( RUN+= must stay!! )
    #KERNEL="sd*", SYSFS{vendor}="Corsair", SYSFS{model}="Flash*Voyager*", NAME{all_partitions}="myusbkey%n" RUN+="/home/msk/bin/import_ssh_key.sh signalize" GROUP="your_login"
    
    # on which device keys are
    KEYPARTITION="myusbkey1"
    
    # path to keys ( from media root, separated by ',' )
    KEYS="keys/id_dsa_key1,keys/id_dsa_key2"		# kluce mam na /media/myusbkey1/keys
    
    # time of sleep between checks
    SLEEPTIME=10
    
    # your login
    USERNAME="msk"
    
    # binary of ssh_askpass
    ASKPASS_BIN=/usr/bin/ssh-askpass-fullscreen
    
    
    
    PIPEFILE=/tmp/keys_pipe
    
    
    if [ "$1" == "signalize" ]; then
    	# send signal
    	echo "MYUSBKEY_INSERTED:$DEVNAME" > $PIPEFILE
    	# and change ownership, because we was called from udev as root
    	chown $USERNAME $PIPEFILE
    
    else
    
    	# create pipe signalization file
    	rm -f $PIPEFILE
    
    	# endless cycle
    	while true; do
    
    		if [ -e $PIPEFILE ]; then	
    
    			# get content of pipe file
    			MSG=$(cat $PIPEFILE)
    		
    			# test if contains message from udev
    			TST=$(echo $MSG | grep "MYUSBKEY_INSERTED:/dev/$KEYPARTITION" | wc -l)
    			if [ "$TST" != "0" ]; then
    	
    				# mount device
    				pmount $KEYPARTITION
    		
    				# for all configured keys
    				IFS=,
    				export SSH_ASKPASS=$ASKPASS_BIN
    				for key in $KEYS; do
    					KEYPATH=/media/$KEYPARTITION/$key
    					# check if key isn't already loaded
    					if [ "$(ssh-add -l | grep $KEYPATH | wc -l)" == "0" ]; then
    						# add key
    						ssh-add $KEYPATH < /dev/null
    					fi
    				done
    	
    				# umount device
    				pumount $KEYPARTITION
    	
    				# done
    				> $PIPEFILE
    	
    			else
    				# no signal from udev, sleep
    				sleep $SLEEPTIME
    			fi
    		fi
    	
    	done
    
    fi
    
    V /etc/udev/rules.d vznikol novy subor 99-myusbkey.rules s nasledovnym obsahom:
    KERNEL="sd*", SYSFS{vendor}="Corsair", SYSFS{model}="Flash*Voyager*", NAME{all_partitions}="myusbkey%n" RUN+="/home/msk/bin/import_ssh_key.sh signalize" GROUP="msk"
    
    Pokial netrpite podobnym problemom s usb klucenkou ako ja, pouzite SYSFS{manufacturer} a SYSFS{serial} ( namiesto vendor a model ) podla navodov dostupnych po celom Internete.

    V KDE autostart spravte link na import_ssh_key.sh tak, aby sa spustil po logine do KDE ( pripadne ineho wm ). Script bude bezat na pozadi a v pripade, ze sa vlozi usb klucenka, pokusi sa naimportovat kluce uvedene v $KEYS. Heslo si vypyta pomocou fulscreen dialogu ( aptitude install ssh-askpass-fullscreen ), ssh askpass je mozne zmenit v $ASKPASS_BIN.
    Povodne som script napisal tak, aby s udev komunikoval pomocou fifo ( a nemuselo by sa cyklicky sleepovat, predsa to zere trosicku vykonu, ale asi zanedbatelne ), ale dochadzalo k deadlockom ( pokial nahodou na druhej strane fifo nikto nepocuval ), na ktorych udev ostal vysiet. Takze som z fifo spravil obycajny textovy subor, na ktorom udev nemoze ostat vysiet a 10 shell instrukcii za 10 sekund je asi v pohode :o).

    Tak a teraz idem zasuvat a vysuvat, pomedzi to budem robit ssh-add -D a uzivat si svoje veldielo :o)
    Snad sa to niekomu hodi...

    Pokial niekto vie o nejakom systemovejsom rieseni, popiste ho v diskusii.        

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    14.9.2006 11:21 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: SSH kluce na usb flashdisku
    Všechno je to moc pěkné, také jsem si takhle hrál, než jsem zjistil, že s jiným jádrem může být všechno jinak. Ted už na to peču. Když potřebuji něco z nějakého usb zařízení, tak si preventivně nejdřív vypíšu
    cat /proc/partition
    a pak to raději mountuju ručně.
    msk avatar 14.9.2006 11:29 msk | skóre: 27 | blog: msk
    Rozbalit Rozbalit vše Re: SSH kluce na usb flashdisku
    No jo, ale ked ja to pouzivam na 2 strojoch s identickym jadrom a distribuciou, tak je to v pohode.
    msk avatar 14.9.2006 11:22 msk | skóre: 27 | blog: msk
    Rozbalit Rozbalit vše Re: SSH kluce na usb flashdisku
    Este som zabudol dodat: chcel by som nieco podobne spravit s openvpn-kovymi certifikatmi ( strcim usb, vypyta si heslo, nahodi vpn ). Tusite niekto, ci by sa na to dal nejak zneuzit ssh agent, pripadne kwallet?
    msk avatar 14.9.2006 11:45 msk | skóre: 27 | blog: msk
    Rozbalit Rozbalit vše Re: SSH kluce na usb flashdisku
    Ehm, trosku nepozornosti a uz je tu druha uprava scriptu :o). Pridal som test, ci existuje pipefile a odstranil -c zo ssh-add, pretoze necitam poriadne manualy :o)
    14.9.2006 12:03 Jan Kundrát (jkt) | skóre: 27 | blog: jkt | Praha - Bohnice
    Rozbalit Rozbalit vše Re: SSH kluce na usb flashdisku
    No, ja osobne pouzivam pam_ssh, kteryzto umi heslem zadanym pri loginu "odemknout" ssh klic, ktery je pravda stale ulozen v ~. Bohuzel jsem jeste nenasel pam_gpg a byl jsem liny si ho napsat sam :).
    14.9.2006 12:55 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: SSH kluce na usb flashdisku
    par veci k bashu

    1.)
    # path to keys ( from media root, separated by ',' )
    KEYS="keys/id_dsa_key1,keys/id_dsa_key2"
    oddeloval by som to medzerou, potom sa netreba srat s prenastavovanim IFS

    2.)
    # get content of pipe file
    MSG=$(cat $PIPEFILE)
    		
    # test if contains message from udev
    TST=$(echo $MSG | grep "MYUSBKEY_INSERTED:/dev/$KEYPARTITION" | wc -l)
    if [ "$TST" != "0" ]; then
    da sa to nahradit
    if grep -q "MYUSBKEY_INSERTED:/dev/$KEYPARTITION" "$PIPEFILE"; then
    
    3.)

    namiesto kazdych 10 sekund sa pokusat citat subor, sa da nieco ako
    tail -f "$PIPEFILE" |
    while true; do
        read msg
        dosomething "$msg"
    done
    
    vtedy sa uz ale neda grepovat priamo subor, ale musi sa cez to echo
    if echo "$msg" | grep -q "MYUSBKEY_INSERTED:/dev/$KEYPARTITION"; then
    
    If you hold a Unix shell up to your ear, you can you hear the C.
    msk avatar 14.9.2006 14:32 msk | skóre: 27 | blog: msk
    Rozbalit Rozbalit vše Re: SSH kluce na usb flashdisku
    Priznam sa, ze s tym tail ma to vobec nenapadlo. A pritom ho pouzivam denne :o). Dik za tip.
    10.5.2011 23:11 lukas
    Rozbalit Rozbalit vše Re: SSH kluce na usb flashdisku
    Zdravím, potreboval by som pomôcť. V ubuntu, na jednej pracovnej stanici si chccem zriešiť prostredníctvom vmware ubuntu server (inú možnosť zatiaľ nepoznám), potrebujem aby ubuntu komunikovalo s ubuntu serverom, pretože mám k dispozícii token ikey2032, na ktorom budem mať certifikát, kľúč atď, ďalej chcem vyriešiť prihlásenie do ubuntu prostredníctvom spomínaného tokenu a to tak, že párový kľúč slúžiaci k autentifikácii bude uložený na strane servera a po zastrčení tokenu do usb portu táto auatentifikácia prebehne a následne by som mal byť prihlásený v ubuntu. Vopred ďakujem, za každú pomoc.. :)

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.