{"id":1941,"date":"2018-01-11T21:51:44","date_gmt":"2018-01-11T20:51:44","guid":{"rendered":"https:\/\/akim.sissaoui.com\/?p=1941"},"modified":"2019-06-06T12:01:04","modified_gmt":"2019-06-06T10:01:04","slug":"verifier-script-bash-connexion-ssh-fonctionne","status":"publish","type":"post","link":"https:\/\/akim.sissaoui.com\/en\/informatique\/verifier-script-bash-connexion-ssh-fonctionne\/","title":{"rendered":"V\u00e9rifier par script bash si la connexion ssh fonctionne"},"content":{"rendered":"<p><a href=\"https:\/\/akim.sissaoui.com\/wp-content\/uploads\/2018\/01\/human-brain-mechanics.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft  wp-image-1943\" src=\"https:\/\/akim.sissaoui.com\/wp-content\/uploads\/2018\/01\/human-brain-mechanics.jpg\" alt=\"\" width=\"320\" height=\"250\" srcset=\"https:\/\/akim.sissaoui.com\/wp-content\/uploads\/2018\/01\/human-brain-mechanics.jpg 500w, https:\/\/akim.sissaoui.com\/wp-content\/uploads\/2018\/01\/human-brain-mechanics-300x235.jpg 300w, https:\/\/akim.sissaoui.com\/wp-content\/uploads\/2018\/01\/human-brain-mechanics-123x96.jpg 123w\" sizes=\"(max-width: 320px) 100vw, 320px\" \/><\/a>En partant \u00e0 la d\u00e9couverte de Nutanix Calm, je cherche \u00e0 scripter le maximum du choses, forc\u00e9ment. Aussi, j&#8217;ai cherch\u00e9 comment v\u00e9rifier si une connexion ssh fonctionnait correctement en script, pour permettre \u00e0 celui-ci de lancer une action ou de s&#8217;interrompre si ce n&#8217;est pas le cas. Voici ce que \u00e7a donne:<br>&nbsp;<br>Remplacez bien s\u00fbr les \u00e9l\u00e9ments , et par vos besoin.<\/p>\n<p>Ce script va lancer une requ\u00eate SSH, et sortir imm\u00e9diatement. Il ne va pas contr\u00f4ler la cl\u00e9 de host, ceci permet que le script ne s&#8217;interrompe pas pour demander oui\/non (fingerprint). On renvoie ensuite le r\u00e9sutat vers \/dev\/null, comme \u00e7a c&#8217;est totalement silencieux. Puis on r\u00e9cup\u00e8re enfin le code de sortie. S&#8217;il est 0, c&#8217;est bon. Si il est autre chose, la connexion a \u00e9chou\u00e9, et on arr\u00eate le script.<br><br>Une erreur 255 indique par contre un access denied. On peut donc consid\u00e9rer qu&#8217;en tel cas, la connexion fonctionne. Donc si vous souhaitez savoir si un utilisateur peut s&#8217;authentifier, 255 est un \u00e9chec. Si vous souhaitez juste savoir si SSH accepte les connexions, 255 peut \u00eatre consid\u00e9r\u00e9 comme un succ\u00e8s.<\/p>\n\n<pre lang=\"bash\"># Silently check if ssh connection is working for new user\nssh -q -o \"StrictHostKeyChecking no\" @ -p  exit &> \/dev\/null\nret_code=$?\n\n# If connection failed, stop the script\nif [ $ret_code != 0 ] && [ $ret_code != 255 ]\nthen\n   echo \"SSH connection for user  failed. Stopping script. Error code $ret_code\"\n   exit $ret_code\nfi\n<\/pre>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En partant \u00e0 la d\u00e9couverte de Nutanix Calm, je cherche \u00e0 scripter le maximum du choses, forc\u00e9ment. Aussi, j&#8217;ai cherch\u00e9 comment v\u00e9rifier si une connexion ssh fonctionnait correctement en script, pour permettre \u00e0 celui-ci de lancer une action ou de s&#8217;interrompre si ce n&#8217;est pas le cas. Voici ce que \u00e7a donne:&nbsp;Remplacez bien s\u00fbr les [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[220],"tags":[263],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/posts\/1941"}],"collection":[{"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/comments?post=1941"}],"version-history":[{"count":4,"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/posts\/1941\/revisions"}],"predecessor-version":[{"id":2014,"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/posts\/1941\/revisions\/2014"}],"wp:attachment":[{"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/media?parent=1941"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/categories?post=1941"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/akim.sissaoui.com\/en\/wp-json\/wp\/v2\/tags?post=1941"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}