We consider an iterative preconditioning technique for large scale optimization, where the objective function is possibly non-convex. First, we refer to the solution of a generic indefinite linear system by means of a Krylov subspace method, and describe the iterative construction of the preconditioner which does not involve matrices products or matrix storage. The set of directions generated by the Krylov subspace method is also used, as by product, to provide an approximate inverse of the system matrix. Then, we experience our method within Truncated Newton schemes for large scale unconstrained optimization, in order to speed up the solution of the Newton equation. Actually, we use a Krylov subspace method to approximately solve the Newton equation at current iterate (where the Hessian matrix is possibly inde?nite) and to construct the preconditioner to be used at the current outer iteration. An extensive numerical experience show that the preconditioning strategy proposed leads to a signi?cant reduction of the overall inner iterations on most of the test problems considered.