{"id":11932,"date":"2018-09-12T05:05:02","date_gmt":"2018-09-12T03:05:02","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=11932"},"modified":"2018-09-11T22:02:39","modified_gmt":"2018-09-11T20:02:39","slug":"raspberry-pi-bricht-beim-signieren-eines-git-tags-mit-gpg-signing-failed-unpassender-ioctl-io-control-fuer-das-geraet-ab","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=11932","title":{"rendered":"Raspberry Pi bricht beim signieren eines Git tags mit &#8222;gpg: signing failed: Unpassender IOCTL (I\/O-Control) f\u00fcr das Ger\u00e4t&#8220; ab"},"content":{"rendered":"<p>Wollte einen Git Tag signieren auf einem Raspberry Pi W Zero. Nach der Key Erzeugung (gpg &#8211;gen-key) schlug das signieren des git tags mit -s:<\/p>\n<pre class=\"lang:default decode:true \" >\r\ngit tag -s v1.0.1 -m 'Erster signierter Tag'\r\n<\/pre>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/git-tagging.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/git-tagging.png\" alt=\"\" width=\"2506\" height=\"1752\" class=\"aligncenter size-full wp-image-11944\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/git-tagging.png 2506w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/git-tagging-300x210.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/git-tagging-768x537.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/git-tagging-1024x716.png 1024w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>mit folgender Fehlermeldung fehl:<\/p>\n<blockquote><p>\ngpg: signing failed: Unpassender IOCTL (I\/O-Control) f\u00fcr das Ger\u00e4t<br \/>\ngpg: signing failed ioctl\n<\/p><\/blockquote>\n<p>Ein erster Test mit:<\/p>\n<pre class=\"lang:default decode:true \" >\r\necho \"test\" | gpg --clearsign\r\n<\/pre>\n<p>schlug auch fehlt. Eine Kontrolle der Config (.gitconfig) mit:<!--more--><\/p>\n<pre class=\"lang:default decode:true \" >\r\ngit config -l\r\n<\/pre>\n<p> hat auch alle relevanten Eintr\u00e4ge angezeigt:<\/p>\n<blockquote><p>\nuser.name=Thomas Wenzlaff<br \/>\nuser.email=pi-lehrgang@wenzlaff.de<br \/>\nuser.signingkey=FEC823F044525328B2CA20352AB54AA20ECBF41B<br \/>\ncommit.gpgsign=true<br \/>\ntag.gpgsign=true\n<\/p><\/blockquote>\n<p>Nach einigem suchen im Internet und validieren hat das setzen der <strong>GPG_TTY<\/strong> Variable bei mir geholfen:<\/p>\n<pre class=\"lang:default decode:true \" >\r\nGPG_TTY=$(tty)\r\nexport GPG_TTY\r\n<\/pre>\n<p>Damit das auch nach einem reboot weiterhin l\u00e4uft, diese beiden Zeilen in der <strong>.bashrc <\/strong> Datei hinzuf\u00fcgen. Sonst kommt diese Meldung oder \u00e4hnlich:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.53.22.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.53.22.png\" alt=\"\" width=\"993\" height=\"76\" class=\"aligncenter size-full wp-image-11946\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.53.22.png 993w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.53.22-300x23.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.53.22-768x59.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>Dann den ersten Tag wie oben beschrieben angelegt und angezeigt mit:<\/p>\n<pre class=\"lang:default decode:true \" >git show v1.0.1<\/pre>\n<p>man kann gut die PGP Signatur am tag erkennen:<\/p>\n<pre class=\"lang:default decode:true \" >\r\npi@pi-zero:~\/Git-Pi-Anleitung $ git show v1.0.1\r\ntag v1.0.1\r\nTagger: Thomas Wenzlaff &lt;pi-lehrgang@wenzlaff.de&gt;\r\nDate:   Tue Sep 11 18:56:09 2018 +0000\r\n\r\nErster signierter Tag\r\n-----BEGIN PGP SIGNATURE-----\r\n\r\niQEyBAABCAAdFiEE\/sgj8ERSUyiyyiA1KrVKog7L9BsFAluYD8kACgkQKrVKog7L\r\n9Btf8gf1HfbN1OfxR1NZLWK1Nm3zft7OwMvQKgyhVYwJVvBECLEFJo\/xJ9KnQnTF\r\n4KMXT2csYNJNf0lAZMiWqD+VB98gBDygUTzwmnWdAO05YK1dH9Je1qKpnkuheYzo\r\nnpkNQPS7DKCzY0xpOR8jL8SFIOxeTJeQJ5JtdnYFXyaUghvrv4m7SQLE9r09qPeY\r\nuRJXMHq3L2UkZ2gFSd\/D2FMPGtgcLob5gTp5vTeOSWVPR8WPsbHcM50qJl+Z4n7s\r\njQAesN88JOkZJeS3hCmAnv5AMqFT6MTRBKAk2ZLI4xAfMmvPE3t8lU8\/cmsgXqbN\r\nxEJd\/MmExIIV+e+f67v6hl93RDqc\r\n=Yn1H\r\n-----END PGP SIGNATURE-----\r\n<\/pre>\n<p>Dann k\u00f6nnen wir ja auch gleich mal die Signatur des Git Tags validieren mit -v<\/p>\n<pre class=\"lang:default decode:true \" >git tag -v v1.0.1<\/pre>\n<p>und siehe da, alles ok:<\/p>\n<pre class=\"lang:default decode:true \" >object 191c2adfb0f891c88e8489a0503ca4a1b9cce085\r\ntype commit\r\ntag v1.0.1\r\ntagger Thomas Wenzlaff &lt;pi-lehrgang@wenzlaff.de&gt; 1536692169 +0000\r\n\r\nErster signierter Tag\r\ngpg: Signature made Di 11 Sep 2018 18:56:09 UTC\r\ngpg:                using RSA key FEC823F044525328B2CA20352AB54AA20ECBF41B\r\ngpg: Good signature from \"Thomas Wenzlaff &lt;pi-lehrgang@wenzlaff.de&gt;\" [ultimate]\r\n<\/pre>\n<p>Ok, dann wollen wir auch noch gleich das signieren von commits testen. Ein erster commit mit Parameter -S<\/p>\n<pre class=\"lang:default decode:true \" >git commit -a -S -m 'Erster signierter Commit'<\/pre>\n<p> Es kommt dann der Dialog wo das Passwort f\u00fcr den Key eingegeben werden muss:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.15.26.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.15.26.png\" alt=\"\" width=\"899\" height=\"375\" class=\"aligncenter size-full wp-image-11935\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.15.26.png 899w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.15.26-300x125.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.15.26-768x320.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>Ok, der commit war erfolgreich. Das wollen wir gleich mal testen mit  <\/p>\n<pre class=\"lang:default decode:true \" >git show<\/pre>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.18.13.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.18.13.png\" alt=\"\" width=\"899\" height=\"576\" class=\"aligncenter size-full wp-image-11936\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.18.13.png 899w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.18.13-300x192.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.18.13-768x492.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>Oder auch um die letzte Signatur anzuschauen:<\/p>\n<pre class=\"lang:default decode:true \" >git log --show-signature -1<\/pre>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.22.41.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.22.41.png\" alt=\"\" width=\"900\" height=\"225\" class=\"aligncenter size-full wp-image-11937\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.22.41.png 900w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.22.41-300x75.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.22.41-768x192.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>Auch eine Tabelle mit allen commits kann man sich sch\u00f6n formatiert ausgeben lassen mit log, wobei die signierten Eintr\u00e4ge mit <strong>G<\/strong> in der zweiten Spalte gekennzeichnet sind:<\/p>\n<pre class=\"lang:default decode:true \" >git log --pretty=\"format:%h %G? %aN  %s\"<\/pre>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.17.42.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.17.42.png\" alt=\"\" width=\"826\" height=\"149\" class=\"aligncenter size-full wp-image-11939\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.17.42.png 826w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.17.42-300x54.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.17.42-768x139.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>Dann auch noch die Signatur f\u00fcr den commit anschauen<\/p>\n<pre class=\"lang:default decode:true \" >git log --show-signature -1<\/pre>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.31.49.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.31.49.png\" alt=\"\" width=\"895\" height=\"228\" class=\"aligncenter size-full wp-image-11943\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.31.49.png 895w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.31.49-300x76.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/09\/Bildschirmfoto-2018-09-11-um-21.31.49-768x196.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wollte einen Git Tag signieren auf einem Raspberry Pi W Zero. Nach der Key Erzeugung (gpg &#8211;gen-key) schlug das signieren des git tags mit -s: git tag -s v1.0.1 -m &#8218;Erster signierter Tag&#8216; mit folgender Fehlermeldung fehl: gpg: signing failed: Unpassender IOCTL (I\/O-Control) f\u00fcr das Ger\u00e4t gpg: signing failed ioctl Ein erster Test mit: echo &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/blog.wenzlaff.de\/?p=11932\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eRaspberry Pi bricht beim signieren eines Git tags mit &#8222;gpg: signing failed: Unpassender IOCTL (I\/O-Control) f\u00fcr das Ger\u00e4t&#8220; ab\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[220,2173,808,79,1023,2752,1319,7],"tags":[2512,325,3393,3395,3396,3392,2513,1920,3394],"class_list":["post-11932","post","type-post","status-publish","format-standard","hentry","category-anleitung","category-debian","category-linux-2","category-programmierung","category-raspberry-pi","category-raspberry-pi-zero-w","category-sicherheit-2","category-tools","tag-commit","tag-git","tag-git-abbruch","tag-git-commit","tag-git-commit-signierung","tag-git-tag-signierung","tag-signierung","tag-tag","tag-validieren"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/11932","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11932"}],"version-history":[{"count":0,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/11932\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11932"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11932"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11932"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}