Pagina 1 di 1

Compilare ssh staticamente

Inviato: gio 20 gen 2011, 10:39
da ficundiana
Salve a tutti,

vorrei riuscire a raggiungere il mio pc da remoto utilizzando una shell sicura e forwardando determinate porte. Ho disabilitato l'autenticazione con password e lasciato solo quella con chiave privata che porto sempre con me su una chiave USB. Non sapendo in linea di principio il parco sw presente su un'eventuale macchina remota, l'idea sarebbe quella di avere nella chiave USB i programmi necessari per effettuare la connessione. Per quanto riguarda Win portable-Putty e portable-winscp risolvono bene il mio problema; il problema rimane con linux: ssh è (giustamente) un eseguibile dinamico e se mi limito a copiarlo nella chiave esso potrebbe trovare su un pc remoto librerie non compatibili con le mie e, dunque, non funzionare.
Ho provato ad utilizzare ELF statifier per rendere statico il programma, ma purtroppo statifier non è compatibile con la randomizzazione dello stack (attivata, da quanto ho capito, sulla maggior parte dei sistemi linux, e disattivabile solo da root). Un'altrenativa ad ELF Statifier che ho provato e funziona è Ermine, ma quest'ultimo è un sw proprietario e gli eseguibili prodotti funzionano solo per un determinato periodo.

Una soluzione potrebbe essere un programma con le stesse funzioni di Ermine ma sbloccato: ne conoscete qualcuno?
Un qualunque programma in grado di aprire una shell sicura e sia indipendente dalle librerie risolverebbe comunque il problema.

Re: Compilare ssh staticamente

Inviato: gio 20 gen 2011, 11:34
da shark1500
Non sono sicuro di quello che dico, ma putty non c'era anche per linux? (ovviamente non lo usa mai nessuno perche` c'e` ssh, pero` secondo me il client esiste)

Re: Compilare ssh staticamente

Inviato: gio 20 gen 2011, 12:06
da masalapianta
"LDFLAGS=-static ./configure" non funziona?

Re: Compilare ssh staticamente

Inviato: gio 20 gen 2011, 14:57
da ponce
per linux, a differenza di windows, non avrai bisogno di portarti dietro il client ssh: lo troverai installato su qualunque distribuzione ti troverai ad usare.
nel caso non fosse installato probabilmente ti conviene non usare nemmeno il sistema operativo sottostante (non ci sara' niente) ed avviare/lavorare con una live (porteus, slax, knoppix o quella che preferisci).

Re: Compilare ssh staticamente

Inviato: gio 20 gen 2011, 15:30
da ficundiana
grazie per le risposte.

@ponce: sicuramente è vero che è raro non trovare ssh in un pc con linux sopra; tuttavia distro come ubuntu di default installano veramente "l'essenziale" (secondo l'accezione ubuntista del termine) e, se non mi sbaglio, ssh non c'è. In ogni caso avere con se la chiave privata ed un pc connesso ad internet con linux mi garantisce di potermi connettere al mio computer nel 99.9% dei casi; il mio più che altro è un'esperimento: avere un eseguibile indipendente che mi permetta una connessione senza riavviare il pc e senza avere i privilegi di amministratore.

@masalapianta: ssh viene compilato staticamente ma l'secuzione si blocca stampando: "ssh: ../sysdeps/unix/sysv/linux/getpagesize.c:32: __getpagesize: Assertion `_rtld_global_ro._dl_pagesize != 0' failed.
Aborted". googleando ho scoperto che è un'errore che si presenta quando si cerca di compilare staticamente alcuni programmi. Sto cercando una soluzione...

@shark1500: putty c'è anche per linux ma richiede libgtk, libX11, etc... se provo a passare la flag -static in fase di compilazione quest'ultima si blocca in quanto sulla mia slack sono assenti le lib richieste in versione .a

P.S.: Ermine riesce a far funzionare anche putty portandosi appresso tutte le lib GTK (alla fine ho un'eseguibile da 7.7MB, ma funziona... per 30gg)

Re: Compilare ssh staticamente

Inviato: gio 20 gen 2011, 16:09
da ponce
ficundiana ha scritto:@ponce: sicuramente è vero che è raro non trovare ssh in un pc con linux sopra; tuttavia distro come ubuntu di default installano veramente "l'essenziale" (secondo l'accezione ubuntista del termine) e, se non mi sbaglio, ssh non c'è.
non per fare il piticchioso ( :) ) ma non c'e' openssh-server, openssh-client invece c'e'. ;)
il mio più che altro è un'esperimento: avere un eseguibile indipendente che mi permetta una connessione senza riavviare il pc e senza avere i privilegi di amministratore.
amministrando ambienti multiutente posso pensare che, a seconda di dove sei, le pennine/home/tmp potrai anche trovarli montati con l'opzione noexec, come ho fatto io in situazioni dove non era permesso far girare altri binari oltre a quelli installati (senno' la prima cosa che gli utenti si porterebbero dietro sarebbe il client bittorrent :lol: ), quindi il binario statico probabilmente non risolvera' sempre.