[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Using keyboard-interactive and publickey in the same server


Hi all,

I am trying to port https://git.sr.ht/~runxiyu/forge from Go to C
because of garbage collection issues and other reasons. I'm considering
using libssh for the SSH server, but I'm not sure if it'll work for my
use-case.

I currently use gliderlabs's SSH server in Go like this

	PublicKeyHandler:           func(ctx glider_ssh.Context, key glider_ssh.PublicKey) bool { return true },
	KeyboardInteractiveHandler: func(ctx glider_ssh.Context, challenge go_ssh.KeyboardInteractiveChallenge) bool { return true },

Essentially, I want to accept all connections; but by setting up both a
public key handler and a keyboard interactive handler, effectively I can
let all users log in without any auth, and get their public key if they
have one, and let them in anonymously if they don't.

Is this possible with libssh? I think it's possible with
ssh_message_auth_publickey_state, but that seems to be deprecated in
favor of the callback-based API, which doesn't seem to support
keyboard-interactive.

--
Thanks,

Runxi Yu (they/them)
Y11 Student
E306, E House
Songjiang Campus
YK Pao School


Follow-Ups:
Re: Using keyboard-interactive and publickey in the same serverJakub Jelen <jjelen@xxxxxxxxxx>
Archive administrator: postmaster@lists.cynapses.org