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

    Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.

    Ladislav Hagara | Komentářů: 8
    dnes 10:44 | Nová verze

    MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.

    Ladislav Hagara | Komentářů: 0
    dnes 10:22 | Nová verze

    Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.

    Ladislav Hagara | Komentářů: 1
    dnes 01:00 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 19:55 | IT novinky

    Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | IT novinky

    Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Nová verze

    Byla vydána nová verze 14.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 12:55 | Zajímavý software

    Společnost Kaspersky vydala svůj bezplatný Virus Removal Tool (KVRT) také pro Linux.

    Ladislav Hagara | Komentářů: 11
    včera 12:33 | Nová verze

    Grafický editor dokumentů LyX, založený na TeXu, byl vydán ve verzi 2.4.0 shrnující změny za šest let vývoje. Novinky zahrnují podporu Unicode jako výchozí, export do ePub či DocBook 5 a velké množství vylepšení uživatelského rozhraní a prvků editoru samotného (např. rovnic, tabulek, citací).

    Fluttershy, yay! | Komentářů: 1
    včera 12:00 | Nová verze

    Byla vydána (𝕏) nová verze 7.0 LTS open source monitorovacího systému Zabbix (Wikipedie). Přehled novinek v oznámení na webu, v poznámkách k vydání a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    SSH kluce na usb flashdisku

    14.9.2006 11:07 | Přečteno: 1609× | 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: 51 | 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.