{"id":12541,"date":"2017-06-20T11:00:01","date_gmt":"2017-06-20T09:00:01","guid":{"rendered":"http:\/\/www.devapp.it\/wordpress\/?p=12541"},"modified":"2017-06-20T11:00:01","modified_gmt":"2017-06-20T09:00:01","slug":"ssh-accedere-ad-un-server-con-chiave-pubblica","status":"publish","type":"post","link":"https:\/\/www.devapp.it\/wordpress\/ssh-accedere-ad-un-server-con-chiave-pubblica\/","title":{"rendered":"SSH: accedere ad un server con chiave pubblica"},"content":{"rendered":"<p>SSH \u00e8 il meccanismo pi\u00f9 comunemente utilizzato per <strong>accedere ad un server remoto Linux<\/strong> dove le nostre piattaforme software sono al lavoro. Con questo strumento \u00e8 possibile inviare comandi attraverso\u00a0un canale &#8220;sicurizzato&#8221;\u00a0con\u00a0l&#8217;impiego di algoritmi crittografici. L&#8217;accesso pu\u00f2 essere effettuato su qualsiasi macchina in cui sia in esecuzione un server SSH (tipicamente un&#8217;implementazione OpenSSH) utilizzando le credenziali di sistema. Ad esempio, per accedere alla console della macchina 192.168.255.12 mediante l&#8217;account <em>sysadmin<\/em> \u00e8 sufficiente digitare:<\/p>\n<pre class=\"lang:sh decode:true\">&gt; ssh sysadmin@192.168.255.12<\/pre>\n<p>al che verr\u00e0 richiesta la password per il completamento del login. La porta TCP utilizzata di default \u00e8 la 22 ma \u00e8 buona norma modificarla: in questo caso,\u00a0se ne fornir\u00e0 il numero corretto all&#8217;accesso utilizzando l&#8217;opzione <em>-p<\/em>.<\/p>\n<p>L&#8217;utilizzo di una console SSH pu\u00f2 ulteriormente essere reso agevole mediante l&#8217;<strong>accesso con chiave pubblica<\/strong>\u00a0che offre, oltre tutto, almeno due vantaggi: maggiore sicurezza (non legata alla segretezza della parola chiave) e possibilit\u00e0 di automatizzare i comandi da inviare al server\u00a0non richiedendo la presenza di un operatore che digiti personalmente la\u00a0password.<\/p>\n<p>Per avere un accesso con chiave pubblica \u00e8 necessario seguire due\u00a0passaggi che qui nel seguito esemplificheremo (supporremo accesso da macchina Linux ad un server di indirizzo 192.168.255.12 con utente sysadmin):<\/p>\n<ul>\n<li>sulla macchina client, produrremo una coppia di chiavi SSH:\n<pre class=\"lang:sh decode:true \">&gt; ssh -t rsa<\/pre>\n<p>otterremo due file:\u00a0una chiave privata (che conserveremo noi con la massima riservatezza sulla macchina, tipicamente nella cartella <em>.ssh<\/em> della home di pertinenza del nostro utente) ed una pubblica, quella da distribuire, che trasferiremo sul server cui fare accesso. L&#8217;opzione<em> -t<\/em> serve ad indicare il tipo di chiavi da ottenere, in alternativa si pu\u00f2 utilizzare <em>-b<\/em> per specificare la lunghezza della chiave in bit (ad esempio: <em>ssh -b 4096<\/em>);<\/li>\n<li>trasferiremo la chiave pubblica sul server in modo che questo possa riconoscerci all&#8217;accesso senza bisogno di usare la password. Ci sono vari sistemi per copiarla e forse uno dei pi\u00f9 comodi \u00e8 il comando:\n<pre class=\"lang:sh decode:true \">&gt; ssh-copy-id -i ~\/.ssh\/id_rsa.pub sysadmin@192.168.255.12<\/pre>\n<p>dove andranno personalizzati sia il percorso della chiave pubblica sulla macchina client (quello dell&#8217;esempio \u00e8, del resto, il valore\u00a0di default) sia nome utente e indirizzo della\u00a0macchina server.<\/li>\n<\/ul>\n<p>L&#8217;accesso via chiave pubblica pu\u00f2 essere molto utile e la conoscenza dei meccanismi procedurali di SSH non spetta solo ai sistemisti ma a tanti che si occupano di backend per mobile o applicazioni web pertanto meglio essere sempre pronti a tutto.<\/p>\n<p>E voi ancora non vi siete stancati di digitare ogni volta la vostra password SSH?<\/p>\n<p>Commentate e fateci sapere!<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>SSH \u00e8 il meccanismo pi\u00f9 comunemente utilizzato per accedere ad un server remoto Linux dove le nostre&#8230;<\/p>\n","protected":false},"author":561,"featured_media":13105,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[30,481],"tags":[1721,1786,1741,1785,1768],"class_list":["post-12541","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-materiale-open-source","category-risorse-utili","tag-linux","tag-open-ssh","tag-server","tag-ssh","tag-ubuntu"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12541","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/users\/561"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/comments?post=12541"}],"version-history":[{"count":5,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12541\/revisions"}],"predecessor-version":[{"id":13107,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12541\/revisions\/13107"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media\/13105"}],"wp:attachment":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media?parent=12541"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/categories?post=12541"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/tags?post=12541"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}