From 8c967495e7e282df95d636c4bc8d27eb43b0a0fd Mon Sep 17 00:00:00 2001 From: Jean-Marie Mineau Date: Thu, 15 Apr 2021 15:40:23 +0200 Subject: [PATCH] generate totp secret --- gen_otp.py | 51 +++++++ group_vars/all/user_vault | 232 +++++++++++++++--------------- group_vars/all/user_vault.example | 3 +- 3 files changed, 172 insertions(+), 114 deletions(-) create mode 100755 gen_otp.py diff --git a/gen_otp.py b/gen_otp.py new file mode 100755 index 0000000..bc7f876 --- /dev/null +++ b/gen_otp.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python +#coding: utf-8 + +""" +Generate an TOTP token (hex value for user.oath file and qrcode). + +usage: +gen_otp.py [user [machine [periode]]] + +dependancies: +pip3 install qrcode +""" + +import base64 +import binascii +import secrets +import sys + +import qrcode + +USAGE = "gen_otp.py [user [machine [periode]]]" +USER = "user" +MACHINE = "Pains-Perdus" +PERIODE = 60 + +if len(sys.argv) == 2 and sys.argv[1] in ['-h', 'help', '--help']: + print(USAGE) + exit(0) +if len(sys.argv) == 4: + PERIODE = int(sys.argv) +if len(sys.argv) >= 3: + MACHINE = sys.argv[2] +if len(sys.argv) >= 2: + USER = sys.argv[1] + +token = secrets.token_bytes(15) +token_hex = binascii.hexlify(token).decode('utf-8') +token_b32 = base64.b32encode(token).decode('utf-8') +uri = "otpauth://totp/{user}@{machine}?secret={secret}&period={periode}".format( + user=USER, + machine=MACHINE, + secret=token_b32, + periode=PERIODE) + +print("hex:", token_hex) +print("base32:", token_b32) +print("uri:", uri) +qr = qrcode.QRCode() +qr.add_data(uri) +qr.print_ascii(tty=True) + diff --git a/group_vars/all/user_vault b/group_vars/all/user_vault index 3ec2b24..33a8deb 100644 --- a/group_vars/all/user_vault +++ b/group_vars/all/user_vault @@ -1,114 +1,120 @@ $ANSIBLE_VAULT;1.2;AES256;user_vault -39323165653035383137613632643731363631323165323966646631336266306536386161636137 -3666666461643234306436326565353863356239633262640a613539353535653537353736656562 -30343531326166313233386139663561376135663133386166393833636462323864346630643031 -6561646363343232660a656539303935666337303637636532626463643863613736323162373465 -34353265373963656563666537666638326539663239343534386363376561333430356264323030 -63383732353334383534646334666338323932383431646632613235326139373638663462326264 -61343263313531326135303365623033336266653862346264653562356539643938376530313065 -34663766666236393131643230306130626663386236646130613037303339346364346364366633 -64363938326633343338313166353164376263316436636130386635333666376430663038313333 -33353930366466346331343166656339663035643831316138366563643861303762616665303830 -62363439333236313232363339303934313965353635303534353466376233383664633131383539 -34663538363363633930383539393864326131366339633637326637323637306337363438313961 -64643935393339363564376133366630356561363736633932313130616166303730383463303863 -38353462636634306464356135343466363737646232313032646361653334316433336361313438 -63336239343232393038323464613865336537666137343335353136316137316535656530323538 -36623538386164663532353831373835333563383435303561643034626166646563326539393333 -62396561626131643039613533333937656631333966633563376362653336313366663865653263 -64303265383338663637646563623030363065643334323833383563633561353262326365396462 -35666136376264633539666331356664333738373764373564306461633135336162343364326661 -31626362663761343261333939363938366231653139623333646532336133613730343466383230 -35393337623234396561373831643834363536636536306631343938353935346435613064353731 -61666465303066656661343831366462303061313462316161616166336238623961393332633830 -63626634623835393963623431386436303033316439653865663532663930613366316265613631 -37613130663232633636623532656233643965376461366237363234376566346437623862663766 -33336130373736633966656639653961656630363032306532326439346662333863653934343033 -61366663386634323631666564643930633830393933633332616531306463333032333131376538 -39376561663036376631613461326265613761363936373033333034393739396536636337333432 -38306331623432623861393439393962303731653635626164653464666233333731356365313036 -61336338613433323132636331646438356138356161393561623137626563396161396236313335 -62663637366534323038646231663065373938646132643135393230353033303037663131633761 -61633432323430643762313765323036343031343765333533656237636137626664643162363765 -32336136303564363564396631353462326132666563313364323635313139393639373534616633 -34333239363661333934333738653230376565623563393439356232373462653338353139333436 -30363235653837636433386432323432646536386134336263313133346434343832396133646162 -37636362313230333362626633363965633164316665633764643461653135346335303263666664 -34393862613465616234396461653830366133396262663737653637326565333862623537313965 -66663336613030376464613730343930663532616365323832633261613534626364326136323731 -39303137633934323261383438393865623635613266666335633464643830393062363833363432 -34356534373632333132386565376539373564373734636133353437643230323636363931363863 -65316238336662663933393230383637353766396336303164393262333464616134346535643963 -35646330393533373634313631346361396137396366663565383061663365346264343266336262 -64353766633131666364313465343531356239303665326634343830343636326163633533376334 -38343038393438353134343638346165616162353938363432373235656161663961343530623462 -35663035663737353462626466646663666138646164643462363737323530653766306663313431 -34373036306637343066386236376435323139333030373732383961623364383765653436376563 -66663264376233663761363563313663326133316165626132343935393638613062653831386334 -34623737303665366563623961353461613561633234393662396532656138646239626566663734 -64656563343239306531663632643663376637363664333233653364666231343230363837373161 -61633538303661646430643336303532353064353561353962666533333439346236616166393530 -61616139396536393330626436306136313165343435353930633732623866313763323964353138 -39323165386133313636353332316363623632316334626433616130316463333832383433323935 -35336438373566306337326633653965336131326134363065323538343366633239333434346266 -31333331323162326436316464323038386238303837346362623561353666363932376664366163 -64323034313464666238643339383635623165376630386133643339656334313366383833333365 -38623436343363363437316539373164383839646531333064386663656161613734346634373436 -64343131626663313563653136363530343736343365663132643531666236663931613535313131 -38613765376135373862616137643434646332396234363862343865613130636366623136623862 -36643662343532346432656634353638646432323736383831376632353266626436623861363163 -37343465356632663333613337656437323133316163666136306133353730623532376563386432 -35663662393762303531343962303363643637646631356530663334336466333336383566616132 -37303732303833323165343035333137653235383038326231366263356333303162623565633266 -33383466316663376665666266613139643135356238326132383266643337356366663065396661 -36323266303533383031633061633364353364363632386363626566643333613137666464653162 -38663938663936353036356264303662383330343336303438333336663434346531393063346366 -34353337386634383166323537363938616438613064323562643739373236373264333965336262 -34373437383037356132663066613739393832646236383935373934383365613738636236653039 -38376439383033356264366333616364323161663130383531303139643965633439306365613733 -34653530623664353365343631363733656532346237613162393963383139363130633961626335 -38306263653238373937616231353664643933303131633132343364333336343861303563306331 -37393330373934303965316366393432616230396631343735393961623634386236643439303931 -39643964633834653532306161353439373362316164393237326439623361653336633166346130 -65343562643031656163656233303535383661303330343865316665663263343630333131626632 -34646461653766323732306565613662643261306261356130373839383733653366646331383961 -64373034366266353637396665343133656365636638376338616164633337363337623630653835 -36636237653831663137363764303531633962366135343534313438343965383339383937373066 -31376434643530373165653665376433376336613034643863643236336462373261333733336330 -64623066373363633065653730316330383038306331636536633133623436343230303232623864 -63646463643736336162336632663333323266303563316663643333653932373466633066396238 -64623934396564633463636166366663363931353236633962373034313430306635396636666635 -38383935346338653133343166656337643263306638366137343838376636636439396333313130 -61306334313964646162623839386334393865323562623363343633303765646365663561383737 -66383866353661616262353438373962333161623339383837363830373564343862623164306164 -34323065333836646432363130653437316361666335383764323534366537356463343034663836 -30383964356535616238346237386364626234303731316462336166396230326138653734383837 -36666563633137396662653062643535383131373232313865363364313166356561376230336666 -35323366363734373963633439366534363532363935343135343666616663653265346334626238 -30376535646534656162316265633464383966623666633562373130396265303130393434353937 -32336462316265323732623263633535323632326433663566623439333561663733653430653936 -36616634353066303636363939383339343536653165376439633230353337353163623336356137 -63356237323939346432356338326334626564326238383337323166396139373662383333336539 -62656432663263313937613732626663643231396333326639633734396137643862613239353663 -66636634393361663437316364613639316462656638393763643962666461373135336530376561 -65633430303664636231306336353361313734626565363565376261303936353831626165363630 -65316132663539376266653832633033326538613730303039306564353564303438353564373632 -61316338626431326532346437353037343532323535313534326137616164633433306430643064 -30643862363735623433323030323432373733653637346637633638363065623463346335636431 -38633738333030376636373535636336666230626530376261376132306634613635643662636339 -39326465383830316433383933623530386238303735323735336661613561376233303030656364 -64393762356161666462643634653535633831383566333730663665313963646135313961373362 -30356336633864616238646538353031663931323336336166373236303032663536643561323035 -63643665303831333031363239396435316536343133636466366465306332396334613534333339 -35383966393861623430626162383866613036383361303663313861323531303436353166323537 -36623432356338366335303363343163396532336365383433646633393032396266393161316334 -38666266373264633364666161323538383138656234333838636533663263636565663135333637 -39353565386364636166313833383163366364316363333163326638353161656634383039653561 -62303262343465383066653861346439383833333265356330616532373966393465316337623035 -34303136646137356362313266333936613561623965353964396664303133343638636635653935 -62663563326362626361616664386563653236636566333132326530666434663937623738383765 -38316562333365393765326637373863633137373137303330366335643931323966326439316431 -32306530613038636535313466313333366131316530313366653562323866356233646633616665 -66663731636635303831613337663833616263346131303330326535616134616636653232353461 -65383666373737383130383335376433666363346364336462623261303333396238353763616436 -3166 +62303533626465386234646264646633323966643965623763643437373634626133613833343265 +3062306234376439306639646332346633663766303263380a323831353565386437333936623464 +63613639313466633861613330336530616463353630353763326238666231633934353233366233 +3961353539396434630a326632336666396537393336303231613635666639326462363063323234 +34613464623739396438373938643966366138613134353433393530636431656438643031646432 +37353437346334363262373463396364623837373932353532386433396266393439376466336464 +61373264363837643961613735656166323232643231366534336336386539363534316631666630 +63363430313937366238646336643464666331653061663963663635656536396437323630613362 +38306537333030306334363465353438323435643635396338336330316432353666316439646434 +62353536636235346237313965386532636162643635623664626630396432356538663435353637 +39616161376361343830353133386337306565333038633032313531636435353630323134656433 +61643563316638646239616361303930353237396466366361366239643366633936353661343765 +32333636383938383530316639343665623666633633643537343034666666323737366532666536 +36393666323338323437626533313262316166343138636237643664623465663961333862356337 +38626539366338313234393932613964313834363531633530353563656561373736663861323334 +65653666356261313836663663326436356265623730333262373566333737353239636237656531 +32353632636261323738666561363430326632616637393164623835313731656539356536343732 +30346633383737386364303937626166323530393330663133333061646661393033343139656336 +64353464313636383339346339303232613235633531313465623162393937393230333532316335 +62306235346235623533656536656365343239663434303132373064663134363865623034393862 +37663065386330306535636336326463383030346163396166303037326461363964396665323530 +35353932323938376462633766363735656435663830346332663432343264386130383132353535 +61376563333361356235326665653062353135386336623835383366303732343336353761643766 +39356363306431376231636434376431393334633238633237666437396265306364393466373937 +31393765373363313765633038663861616236613863313539613962323032643864323336303434 +39666464643732383832313132623134303965373138646235633962626436373339373965393263 +31316335316166353331643632616331316235656537666133666430323530373936343236386162 +34333931303038613639613864653263373861666266396133616164346562616161333635303033 +31363430333935613461333836386662616437373662363535653166313463303433636162663462 +61393535393062636137643965333665356335336438343763396163643637353934306265613730 +66616662373935313964633564356466613665353865306535316163376534343531636530356165 +31353664666561363930343333336663653137633765363465366662643964316334653162633738 +39666430343839393463333161643761343933313863366164323132343333666534323730303963 +32336133663632633963343764333936613934313735303938346463393362383131326166333363 +61646134653837356161373361396532353635313061356334326337393564353262663239393366 +30343331316439653936333061353764323961643235616466303833656463643863313165303739 +65613637386661373237366462373136646138653831623262343035666632393939306239313961 +61656439633636306266643465393333363732643963353332616266343464363639623930626537 +30653266373363313137306265653164303061636564663165353865633861626266366164383935 +30353266306463363230336261336338626465663266343961633537303866626130396135313261 +63646430636464633138386337636132343230333732613633393235663939376334613762376130 +32616338363339323930616637626531323263653637353538346339313734386563633831366536 +37363138306631326330383237303032363934346535323662346232316436626236636264666537 +34333637356137316462306336346237636263336636636566663337616536646333633038643237 +33636365633837326634633032303630323132616265336136666161366165313939386262643033 +33666666383438346438613563363038653039306366303730383563643762346161373430626133 +38313266623837386132303235373535393637316261646636653462663938363233326534353439 +37656538306131646637363864313763643862363432613164633437333465613532643463353736 +61373538316134623635333238333235363666353633306538383432373738353230363234323332 +35346232376237373030323138633762643632326265383361346131656665643234623762336261 +37633939366532613762653136653166316138306364633161326536373235646661633335326433 +38303864613638346335366663386561663833393238393861626364383335643634346438363763 +65336436633563636431643966363366393231306265323935613032333237343865386238353862 +30306266323466366166333534623332363530633330306462383761303362306564653662633938 +39623639623361336233623366366338356263363063386564396239306566383031323430323732 +66333930383564336337333662356531343734356434356131353032333964323630613862633130 +31663162303037353265376334373339613934326534656132336237303739363536626439316661 +36646161363338383136353063663463383363623535353533616463376334316334386335323033 +34313039323536373035303830666335326363353438353062623464353834386661623030666263 +61373666613932643537313065353066623236363931383765626334656130623765616639623030 +33323035383835666263343561303136303563633263396530363362353561663038333364363261 +39383039623161346335386538663363316566653638633838316563646234356462656638373663 +33393136313532313838353338326532366339373065343266373362666538613965313165636332 +66626565613865326631316466326232366331663235626239363634643863316666343363336235 +62373265646461326139626564343732306634663031346466613564313662306234653166333830 +62613136313736356536393837653733343366396266316163376565376166653262613638336464 +30313666666630393839306661656232356239393736356336363133313439303033653066363730 +39353235386235346566323636313738626531376362646664663336346130666336303837346639 +64386164333362303136373865343866306532386139616436393132303937353833366435633665 +32356165356134616134633034613738336662323839316636653563663530366538323066643135 +36303233343836633866386363653337653034333836326161353566316634386630386139656266 +63663734336236376636393630633237623763333063366139633333376539316137636337343732 +36366161623834613938646235653636646130336635663463663435643961373433393437316433 +63333530386533663365656332343334396262336239323363616366316132363862346161333635 +38643337626532393136313631353264633039633235616436616638373938356137393866363464 +31663538613666633039616464363138663864356166643431383937366137653865373565613133 +66663130366361633630666164343133313737656466663032613630613631643833323339663633 +66323132396137663439633665333863383266313337313534616366656663363330353065396439 +66313365653333613638303966303137323137663132303466363261343438666337653532326564 +37356364303632356339363731613431313164353932356465633561303231396630373166663835 +34373037323134383836373434633132386333313965636266653935636532303363616261346638 +64313261666564333764353535663364353733366563646466646234376339616533333666623862 +35326633316537633039613936373933386336336562663032323736613165613238323636646438 +65343831633737396463643434643930616230643431616237316165373633663737653832383237 +30346531303035656266353834623034306139316463363636643334653535313961386363666163 +37336535653933323364336137613039306165633361336334643464623763663661356638373539 +35323832376665613834656363356139626634363762623531393338366533626139376266303766 +66333438373465363133343137373663383765316463303630666130323835643164623064373130 +62643138343932346533343936666235316638373661313263306639623431363835383835353534 +32346637623564666162656631643637363931306637386132393332643733333264353563346637 +31643162316339663162356662373766643263306665626438623564383531626638666233373634 +32306534363931353235646361353030326437376337366136343238313234316632323161306333 +62363165633264613465343964366437346163313266613739383466326532666662396331643134 +33323166343238626431653931633731356261666265306433303263626638303535383134383363 +32623732636237663665313436306161626535376232616132383630333533386461393535393930 +32366565633664616565366663396330393661373465626538373166333231663532343330376430 +61643139363833363061373265643734646566366635366638313430633832396631326138643938 +66313263616637393938613866386664346431636136663937346465373830343838356166663065 +37396664343464333237316363376635643463383863613130623733376364343932613030363938 +31663766353138623766636164313131376232303163373262666263316566653233376666393866 +31666666363232653435333832323231616633306134633565646336643330663337653336383863 +36366638356661326661643563306530346565376232346436376163376365643830663238363734 +63373038646434373839333862663737633932383933393361306337336132316466313537306438 +35343034303130666566373965373631653536646463623237343165656431656161336163363963 +32376164613331363366353538353836396430303134373463383064633763366566353863366231 +38386265336434646264643161656135303230333730643864313630363239636237646364613437 +62633830636134313537643031636462633366323763616133366230646362303730396464633930 +31376533393031353131393966373338386237373838383565643633353632346136376538663462 +62666637393834306135343032623766383538363737343864343166666166363537346237363737 +30383133653961623763353534613762383737383430646266633266646439363336326663393332 +38393161343862636337376165313136623837646537633438626166363032306234333634363963 +32333037376239316165303132386561383665343262363833656235363261666633363663633034 +62633962353333373533376661396265303434373436643737663636373366393938346266613435 +66663561326136633464336237643330323433306636663130336230633861383638616464333535 +38393066333832656439623930316363346637633432303934613137623935323663393034653431 +34613233333663333563663930343436313233623138646431396265373634343865366464663366 +64313063313761346133323839646539326264383964643335623062373438376131626435353030 +34303334653236313264376263343134646531643337623665353437363361363637663230663937 +373661666133313636643434346663376363 diff --git a/group_vars/all/user_vault.example b/group_vars/all/user_vault.example index ed7ca8b..9fa62c5 100644 --- a/group_vars/all/user_vault.example +++ b/group_vars/all/user_vault.example @@ -5,5 +5,6 @@ uservault_users: groups: sudo, shell: "/bin/bash", password_hash: "$6$lvbzekjvbzejbvzvzvbzvbzhvbzbv....aezrfv/", # the string betwenn the first and second `:` in /etc/shadow - ssh_key: "ssh-rsa azrekgnbmoienbzrinoien...aoeuzn user@host" + ssh_key: "ssh-rsa azrekgnbmoienbzrinoien...aoeuzn user@host", + totp: "daeae8ce486f6636d68c37c21ce002" # the hex value }