středa 14. března 2007

Jak jsem dělal SSH a SCP klienta

Zadání: Vytvořit aplikaci pro kopírování via SCP a spouštění příkazů via SSH. Dostal jsem k tomu .ppk soubor klíče, heslo, IP adresu serveru a login.
Poté co jsem vygoogloval projekt JSch, jsem se pustil do bádání. Jelikož se mi v examples nepodařilo nalézt to co jsem chtěl, respektive nedařilo se mi zadat svůj klíč, podíval jsem se do zdrojových kódů. Bohužel, nikde žádný komentář. Po dalším googlování se mi zadařilo najít projekt Ganymed SSH-2. Byl o poznání lépe okomentován a zde jsem také nalezl klíč k rozluštění mého problému s klíčem - jak vidno v API JAAS, JCE, atd. se příliš neorientuji.
Pro zadání klíče je totiž třeba mít ho v PEM formátu, kdežto já ho měl ve proprietárním formátu putty. K přeformátování lze tedy použít nástroj puttygen. V tomto nástroji stačí zadat File - Load private key a poté Conversions - Export OpenSSH key, jako příponu je vhodné uvést .pem. S tímto klíčem už bylo možné vyzkoušet examples projektu JSch, který jsem poté použil.