Voglio ssh su un server da dietro un altro server ssh. Il server gateway richiede un nome utente/password e posso farlo. Sto usando un tunnel per entrare nel prossimo server, ma questo richiede solo una chiave ssh. Ho generato la chiave tramite PuTTY, quindi esiste per il mio nome utente, ma non sono sicuro di come recuperarlo per il mio programma Java. È una configurazione? per esempio setConfig ("userauth.publickey", "com.jcraft.jsch.UserAuthPublicKey"), allora come faccio a usare questo o qualcos'altro? La documentazione sembra essere scarsa e apprezzo qualsiasi aiuto. Qualche cosa ho provato mi dà un errore: "Auth fail" quando collego questa sessioneJSch: Come ssh su un server usando i tasti ssh
Grazie!
Il metodo di tunnel che uso è: http://sourceforge.net/apps/mediawiki/jsch/index.php?title=ProxySSH così grazie al ragazzo che lo ha scritto!
Per il contesto, mi piacerebbe leggere/scrivere su un server della mia scuola dal mio telefono Android.
Poiché il secondo SSH non contiene un nome utente, cosa devo usare per quel campo durante l'istanziazione della sessione? Una stringa vuota o nulla? Ad esempio jsch.getSession (WHAT_GOES_HERE ?, hostname, 22); – Choobs
Continuo a ricevere un errore Auth Fail. Ho id_rsa e id_rsa.pub memorizzati localmente e ho usato PuTTYgen per esportare come chiave OpenSSH quindi usarlo in addIdentity (...). Mi sto perdendo qualcosa? Sul primo server c'è un file /.ssh/authorized_keys, che è una copia di id_rsa.pub, se questo è rilevante. – Choobs
Hai * sempre * bisogno di un nome utente per SSH - non puoi accedere ad un server senza questo. (Dopo tutto, i comandi inviati devono essere eseguiti in qualche account utente locale). E il '.Il file ssh/authorized_keys' (contenente le chiavi pubbliche che sono consentite per il login) deve trovarsi nella directory home dell'utente a cui si desidera accedere. –