Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Can't connect via private key.

Aperta
#255 4 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
28/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
rust
Ambito
networking

Direzione di ricerca

Inizia con la chiamata a userauth_pubkey_file nell’esempio segnalato di src/main.rs e verifica come questo percorso di autenticazione gestisce la chiave fornita. Confronta il suo comportamento con quello del comando SSH funzionante e determina quali prove permetterebbero di distinguere un problema di formato della chiave, di nome utente o di autenticazione della libreria; il lavoro è completo quando il fallimento viene riprodotto e viene documentata o testata una causa concreta.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug

I'm trying to connect to a server via private key.

From the CLI, ssh -i ./gen.pem ubuntu@<ip> works as intended, so I know the key, username, port and IP are correct.

So far, this is the code:

let tcp = TcpStream::connect((ip, 22)).unwrap();
let mut sess = Session::new().unwrap();
sess.set_tcp_stream(tcp);
sess.handshake().unwrap();
sess.userauth_pubkey_file("ubuntu", None, Path::new("./gen.pem"), None).unwrap();

But the last line of code fails with:

thread 'main' panicked at 'called Result::unwrap() on an Err value: Error { code: Session(-18), msg: "Username/PublicKey combination invalid" }', src/main.rs:138:10

The same username and private key works with SSH.

Lingua principale
Rust
Stelle
569
Fork
166
Merge medio
1g 12h
PR unite (30g)
3

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di rust-lang/ssh2-rs

Tutte le issue di rust-lang/ssh2-rs

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.