Utilizzare SSH senza password: chiavi SSH

Linux, Sicurezza 7 Comments »

openssh_logoQuando vogliamo connetterci ad un server SSH, solitamente utilizziamo un comando simile al seguente:

ssh user@remotehost.com

Una volta connessi ci viene richiesta la password di accesso e subito dopo siamo connessi. Digitare ogni volta la password puo' essere scomodo, ed in alcuni casi questo potrebbe addirittura impedirci di creare uno script di automazione per velocizzare alcuni compiti.

Ci vengono in aiuto le chiavi SSH. Generando una coppia di chiavi pubblica/privata di SSH sulla propria macchina, ed esportando la chiave pubblica sul server remoto, possiamo fare in modo di autorizzare la nostra chiave remota, facendo si che le connessioni successive avvengano senza la richiesta di alcuna password.

Supponiamo (a scopo dimostrativo) che il server remoto si trovi all'indirizzo IP 192.168.0.2 e supponiamo inoltre di avere un account chiamato user sulla macchina remota.

Per prima cosa dobbiamo generare la coppia di chiavi sulla nostra macchina locale (n.b: non utilizzo alcuna passphrase, altrimenti mi verrebbe richiesta comunque al primo login di ogni sessione):

andy80@noteboontu:~$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/andy80/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/andy80/.ssh/id_dsa.
Your public key has been saved in /home/andy80/.ssh/id_dsa.pub.
The key fingerprint is:
22:99:69:d2:8d:8e:a5:f1:f4:dc:0f:d8:49:52:53:cd andy80@noteboontu

A questo punto dobbiamo copiare la chiave pubblica appena generata, sul server remoto:

cd ~/.ssh/
scp id_dsa.pub user@192.168.0.2:./id_dsa.pub

Ci verrà chiesta la nostra password remota, per poter effettuare la copia del file. A questo punto dobbiamo connetterci via SSH al server remoto:

ssh user@192.168.0.2

Quando abbiamo effettuato correttamente il login, dobbiamo procedere con i seguenti comandi:

cd .ssh
touch authorized_keys2
chmod 600 authorized_keys2
cat ../id_dsa.pub >> authorized_keys2
rm ../id_dsa.pub

Il gioco è fatto! Le successive connessioni SSH che effettueremo verso il server remoto, avverranno senza la richiesta di alcuna password.

Full Circle Magazine #10

Linux, Ubuntu No Comments »

full_circle_magazine_10E' appena stato rilasciato il numero 10 di Full Circle Magazine, la rivista elettronica gratuita dedicata a Linux e ad Ubuntu in generale.

In questo numero:

  • Installazione di Linux Mint
  • HowTo: installare un programma da sorgenti, utilizzare TuxPaint, rippare un DVD con AcidRip, creare il proprio server (parte 2)
  • Recensione dell'Asus EeePc con eeeXubuntu
  • Lettere, domande & risposte, ecc...

La rivista è interamente in inglese e potete scaricarla da questo indirizzo: http://fullcirclemagazine.org/issue-10/

OLPC a Firenze il 7 marzo con Nicholas Negroponte

Linux, OLPC No Comments »

OLPCIl 7 marzo 2008, presso il salone De'Dugento a Palazzo Vecchio (Firenze), dalle ore 10:00 verrà presentato il portatile da 100$ One Laptop Per Child dove parteciperà anche l'ideatore del progetto, Nicholas Negroponte.

Qui di seguito il comunicato ufficiale del Comune di Firenze:

ONE LAPTOP FOR CHILD, IL 7 MARZO PRESENTAZIONE A LIVELLO NAZIONALE, DELLA CAMPAGNA DI DIFFUSIONE DEL PRIMO PC ADATTO AI BAMBINI DI TUTTO IL MONDO

Parte da Firenze, per la prima volta in Italia, la presentazione di One Laptop Per Child (OLPC) Italia: il portatile adatto ai bambini e disegnato per imparare a imparare. L'importante appuntamento, organizzato dall'assessorato all'informatica, è per il 7 marzo nel salone de' Dugento in Palazzo Vecchio. L'evento vanta la partecipazione di Nicholas Negroponte, Fondatore del Massachusetts Institute of Technology (MIT) Media Lab di Boston ed ideatore del laptop XO-OLPC.
Il nuovo portatile verrà presentato alle 10,30 durante una conferenza stampa nel Salone de' Dugento, dove parteciperà anche Nicholas Negroponte. Seguirà poi una dimostrazione del laptop OLPC e verranno anche installate anche delle postazioni.

"È un progetto educativo, non solo un semplice portatile." Come ribadisce Negroponte , il laptop è una risposta alla sfida globale di combattere l'analfabetizzazione, l'inclusione sociale ed il divario digitale. " Il laptop XO, un portatile adatto per i bambini e disegnato per imparare a imparare".

L'XO incorpora le teorie costruzionistiche sviluppate per prime negli anni '60 dal professore del MIT Media Lab, Seymour Papert, più tardi rielaborate da Alan Kay e complementate da principi articolati da Nicholas Negroponte nel suo libro, Essere Digitale.
OLPC Italia nasce dalla sensibilità dell'assessore all'informatica, che ha deciso di aderire all'iniziativa globale OLPC Give 1 Get 1 (G1G1) sul territorio locale, promuovendo il laptop XO non solo per i bambini delle scuole fiorentine ma anche per i Paesi in via di sviluppo gemellati con il Comune di Firenze. OLPC Italia si sviluppa sul territorio italiano, partendo dal Comune di Firenze, attraverso modelli sinergetici tra scuole nazionali ed in PVS. Ciascun studente italiano che
acquisterà un laptop, donerà un altro laptop ad un suo coetaneo di un' altra città del Sud del mondo. Mobilitando risorse e partner, OLPC Italia tende a creare una rete di solidarietà civica internazionale, gestendo in prima persona l'implementazione ed il monitoraggio di tali progetti nei PVS.
Durante la giornata sarà possibile assistere ad una dimostrazione sull'utilizzo e le principali funzioni che caratterizzano XO, nonché provare il laptop stesso e condividere la rete tra i vari XOs collegati.

Il progetto OLPC è stato fondato da Nicholas Negroponte con un nucleo di veterani del Media Lab, e ha presto coinvolto persone di talento e costanza eccezionali, provenienti dall'ambiente accademico, dalle belle arti e dalla comunità open source. Ogni individuo che partecipa porta con sé un insieme di capacità uniche, e una profonda passione per il progetto. La campagna G1G1 presentata negli Stati Uniti a novembre, ha venduto sul territorio americano oltre 200.000 macchine in un mese e mezzo.
Per informazioni rivolgersi a giulia@laptop.org

Eclipse plugins for Maemo Development

Linux, Maemo (EN), Programmazione, Python 2 Comments »

Maemo Team has just released a plugin for Maemo Eclipse integration. This tool allows developers to use Eclipse IDE to develop and test Maemo applications.

This release includes:

1. maemo PC Connectivity version 0.1 (Beta)
2. maemo ESBox plugin for Eclipse IDE version 1.3.6 (Beta)
3. maemo Pluthon plugin for Eclipse IDE version 0.1.7 (Beta)

Maemo PC connectivity packages are tools and other components developer needs to install into his Internet Tablet to enable connectivity between developer PC and Internet Tablet.

Maemo ESBox plugin for Eclipse IDE integrates maemo SDK Scratchbox based development environment to the Eclipse development environment. ESBox plugin supports application developers using C, C++ or Python programming language.
Developers are able to do all their development work inside Eclipse, from starting the project using template to packaging final application into maemo installation package.

Maemo Pluthon plugin for Eclipse IDE integrates Eclipse IDE development environment to the Internet Tablet so that maemo Python developers do not need to use maemo SDK and Scratchbox as development environment. Maemo Pluthon plugin fully supports application development process with Python where developer develops and tests his Python application directly with Internet Tablet.

You can find more informations on the official plugin websites:

ESbox: http://esbox.garage.maemo.org/
PluThon: http://pluthon.garage.maemo.org/

APC Back-UPS 500 USB e Ubuntu Server

Linux, Ubuntu 5 Comments »

apc_ups_500L'utilizzo di una unità UPS è certamente una delle cose piu' consigliate quando vogliamo proteggere l'integrità di un computer da sbalzi di corrente o interruzioni dell'alimentazione.

Cosa succede però quando la batteria dell'UPS si esaurisce? In casi normali è molto semplice: la corrente viene a mancare del tutto ed il nostro PC verrà spento bruscamente.

Alla mancanza di corrente non c'è modo di porre un rimedio definitivo, però possiamo almeno fare in modo che il nostro computer venga spento in maniera corretta, prima che la batteria dell'UPS si esaurisca del tutto.

Nel caso di una macchina Linux, ci viene in aiuto una utility chiamata apcupsd. Installarla su Ubuntu è molto semplice:

apt-get install apcupsd

A questo punto, dando per scontato che abbiate già connesso l'UPS al PC/server, collegate il cavo USB a corredo in modo da far riconoscere l'UPS a Linux, in modo da poter proseguire con la configurazione. Il primo file da modificare è /etc/apcupsd/apcupsd.conf ed impostare i seguenti parametri come segue:

UPSCABLE usb
UPSTYPE usb
DEVICE

A questo punto non ci resta che modificare il file /etc/default/apcupsd in modo da rendere effettive le modifiche:

ISCONFIGURED=yes

Infine dobbiamo soltanto avviare il demone ed il gioco è fatto:

/etc/init.d/apcupsd start

Per default apcupsd effettuerà lo shutdown nel PC quando la batteria sarà arrivata al 5% della sua capacità, consentendo così uno shutdown controllato del sistema, ed evitando quindi possibili perdite di dati.

Android: rilasciata la m5-rc14 dell’SDK

Google, Linux, Programmazione No Comments »

android_googleI laboratori di Google hanno da poco rilasciato una versione aggiornata di Android, l'SDK che permette di sviluppare applicazioni per i futuri telefonini Google, si tratta della versione m5-rc14.

Le principali novità di questa release sono le seguenti:

  • Nuova interfaccia utente: anche se si tratta di una versione ancora in sviluppo, è stata aggiornata l'interfaccia grafica di Android.
  • Layout Animations: è stata aggiunta la possibilità di creare animazioni grazie alle classi presenti nel package android.view.animation. Si consiglia di controllare gli esempi presenti nei file LayoutAnimation*.java
  • Geo-coding: il package android.location.Geocoder permette di trasformare un indirizzo in coordinate geografiche e viceversa.
  • Nuovi codec multimediali: è stato aggiunto il supporto per i seguenti formati: OGG Vorbis, Midi, XMF, iMelody, RTTL/RTX e OTA.
  • Aggiornato il plugin per Eclipse: il plugin per eclipse presente alcune novità, in particolare un editor per il Manifesto

Ulteriori informazioni sulle modifiche alle API, possono essere trovate su questa pagina. Per tutto il resto si rimanda alla pagina principale del progetto Android.

Rilasciato WordPress 2.3.3: corretta una grave falla di sicurezza

Sicurezza, WordPress 1 Comment »

wordpress_logoE' stata rilasciata da poche ore la versione 2.3.3 di WordPress. Con questa release viene corretta una falla piuttosto grave che riguarda in particolar modo quei blog che permettono la registrazione di altri utenti.

A causa di un bug in xmlrpc.php è infatti possibile per un utente qualsiasi del blog, editare i contenuti scritti da un altro utente.

Oltre a questo bug, sono stati corretti anche altri piccoli problemi che riguardavano la versione 2.3.2 di WordPress.

E' consigliato un tempestivo aggiornamento, seguendo la procedura indicata sul sito ufficiale.

MySQL: quando si deve pagare la licenza?

Linux, MySQL 7 Comments »

mysql_logoUna delle domande che mi vengono fatte piu' di frequente è "MySQL si paga per uso commerciale?". La risposta non è delle piu' semplici.

Leggendo direttamente il sito web di MySQL, si possono trovare due pagine dedicate alle licenze: una per chi fa sviluppo di software opensource ed una per chi sviluppa software commerciale.

Dopo una lettura superficiale delle due pagine, potremmo essere tratti in inganno e pensare che sviluppando un'applicazione commerciale, si debba per forza acquistare una licenza commerciale di MySQL. Questo non è vero.

Tutto dipende dal tipo di librerie di interfacciamento che vogliamo utilizzare. MySQL mette a disposizione due modi per interfacciarsi al database: una propria API scritta in linguaggio C ed un socket in ascolto che riceve comandi tramite una normale connessione TCP/IP.

E' chiaro che scrivendo un'applicazione che va a fare l'include di (faccio un esempio) mysql.h poi io debba rilasciarne i sorgenti. La licenza GPL con il quale è stato rilasciato MySQL (ed anche le sue librerie client) dice chiaramente che quando si "linka" codice GPL ad altro codice, il risultato deve essere per forza rilasciato sotto licenza GPL.

La licenza GPL però non impone vincoli di utilizzo dell'applicazione stessa. Utilizzare quindi una libreria client che al posto delle API, usa il socket TCP/IP, ci permette di utilizzare MySQL anche da un'applicazione closed-source, senza bisogno di ottenere una licenza commerciale.

E' esattamente quello che fa la libreria di interfacciamento di Python oppure di PHP. Esse utilizzando il metodo di connessione al socket, senza fare l'include del codice di MySQL.

Riassumendo: se ci troviamo a scrivere un'applicazione commerciale che sappiamo non verrà distribuita insieme al codice sorgente, dobbiamo preoccuparci solo di utilizzare una libreria client che utilizzi il metodo di connessione tramite socket al database.

C'è infine da aggiungere una cosa: se si utilizza codice opensource per uso personale oppure interno alla propria azienda, senza distribuirlo in giro, la GPL non ci impone di rilasciare le modifiche che abbiamo fatto ai sorgenti GPL che stiamo utilizzando.

Il caso piu' lampante è quello di Google: essi utilizzano tonnellate di codice GPL, però non distribuiscono un programma, offrono un servizio. Questo gli permette di non dover rendere pubbliche le modifiche fatte al codice originale.

Credits: questo articolo è stato possibile in gran parte grazie all'aiuto ed ai consigli di Giovanni Bajo (che pur chiedendomi di specificare che non è un avvocato e che quindi potrebbe anche sbagliarsi, ha senz'altro fatto un ottimo lavoro) .

Ubuntu 8.04 Alpha 4

Linux No Comments »

ubuntu_logoE' stata da poco rilasciata la Alpha 4 di Ubuntu 8.04, ovvero la versione di Ubuntu che vedrà la luce in Aprile. Le novità sono molte e si vanno a sommare a quelle già introdotte nelle precedenti release Alpha:

  • Xorg è stato aggiornato alla 7.3
  • Il kernel è stato aggiornato alla versione 2.6.24
  • Il nuovo server audio predefinito diventa PulseAudio
  • Tramite PolicyKit è possibile configurare le applicazioni da amministratore che può far girare anche l'utente normale
  • Firefox è stato aggiornato alla versione 3.0 beta 2 e presenta una migliore integrazione con il layout di sistema
  • Trasmission è il nuovo client BitTorrent che sostituirà lo Gnome BitTorrent downloader
  • Vinagre sarà il nuovo client VNC predefinito ed andrà a sostituire xvnc4viewer
  • Brasero (il programma per masterizzare CD/DVD) è stato aggiornato e si integra perfettamente con Nautilus, sostituendo anche Serpentine per quanto riguarda la creazione dei CD audio
  • L'applet orologio permetterà di vedere l'orario ed il meteo di altre località (configurabili) contemporaneamente
  • Per quanto riguarda il file system virtual usato da Nautilus, GVFS prenderà il posto di GnomeVFS
  • Gnome System Monitor è stato ridisegnato e adesso disegna i grafici tramite le librerie Cairo
  • KVM viene ufficialmente mantenuto all'interno dei Kernel di Ubuntu rendendo piu' semplice l'integrazione con i sistemi di virtualizzazione
  • Ufw (Uncomplicated Firewall) è una nuova applicazione che permetterà di scrivere regole di firewall senza dover imparare la complicata sintassi di iptables

Queste sono solo alcune delle novità che vedremo nella prossima versione di Ubuntu. Per visualizzare alcuni screenshot e scaricare questa versione di Ubuntu, vi rimando alla pagina ufficiale: http://www.ubuntu.com/testing/hardy/alpha4

Utilizzare WordPress da remoto grazie a XML-RPC

Python, WordPress No Comments »

Come molti utenti WordPress avranno già notato, esistono svariati client per poter gestire il proprio blog, che possono essere utilizzati invece della normale gestione via web. Gestire WordPress da un client nativo o comunque da remoto, è possibile grazie ad XML-RPC.Questo semplice script Python vi mostrerà quanto sia semplice connettersi al proprio blog ed invocare un metodo:

from xmlrpclib import Server
server = Server("http://www.andreagrandi.it/xmlrpc.php")
userinfo = server.blogger.getUserInfo('','admin','password')
print userinfo

vi stamperà a video le informazioni sul vostro utente (ovviamente dovrete sostituire l'URL con quello del vostro blog e mettere gli user e password corretti.

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in