Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Built-in SSH #27

Merged
merged 31 commits into from
Aug 15, 2022
Merged

Built-in SSH #27

merged 31 commits into from
Aug 15, 2022

Conversation

davidrg
Copy link
Owner

@davidrg davidrg commented Jul 31, 2022

Reinstate the built-in SSH feature with commands like "ssh", "set ssh", and "show ssh" using libssh.

Goal is basic terminal services supporting file transfer via the kermit protocol. Forwarding (including X11) plus some other stuff like SFTP can come later.

  • Redo host key verification UI
  • Fix server banner
  • Implement public key authentication
  • Fix linux terminal type or log a bug if issue isn't being caused by libssh.
  • Investigate OpenWatcom support - likely won't work (openssl doesn't support OpenWatcom)
  • SSH sessions sometimes become disconnected for no obvious reason. When this occurs a bunch of ssh_inc() - channel read error[]=-1 messages are logged

You can SSH places and it works. Only password auth is currently implemented. Host key verification has a bad UI too and needs to be redone. Lots of other stuff still missing or buggy.
@davidrg davidrg self-assigned this Jul 31, 2022
@davidrg davidrg marked this pull request as draft July 31, 2022 10:53
@davidrg davidrg added this to the Beta 2 milestone Jul 31, 2022
@davidrg davidrg linked an issue Jul 31, 2022 that may be closed by this pull request
Closed
@davidrg davidrg mentioned this pull request Jul 31, 2022
Closed
davidrg added 23 commits July 31, 2022 23:37
Remove future stuff to do section - thats all in the issue tracker now.
Now that its enabled via NETPTY it already shows
It wasn't really enabled as all the algorithms were disabled or weren't being built (via crypt dll) but it was showing as available in the "show features" command.
It doesn't need to be turned on - its on by default. We only need to not turn it off.
This now all lives in feature_flags.mak so it can be applied to KUI too. Turning off debug logging now works.
And fixed display of the banner.

Code is also there for keyboard interactive but it isn't currently working for some unknown reason.
To reduce chance of breaking older versions of Visual C++
ckoco3.c(11999) : warning C4172: returning address of local variable or temporary: s
This appears to fix the random disconnect problem though its a pretty massive change and *significantly* increases the complexity of the libssh interface so chances are it also introduces some exciting new subtle bugs.
Its in source control now (so we can set windows version compatibility info)
And significantly increased log spam. Seems to be pretty reliable now.
Was caused by not correctly initialising the client state.
And update the readme
And tested all the various code paths. Seems to be working properly now.
User can now specify which authentication methods to use. The gssapi,
keyboard-interactive, password and pubkey options are processed though
only password and pubkey authentication are currently implemented.
But it is less firmly disabled now - you can turn it on by going "set ssh v2 auth keyb" before starting your session.
@davidrg davidrg marked this pull request as ready for review August 15, 2022 10:32
@davidrg davidrg merged commit a98c203 into master Aug 15, 2022
@davidrg davidrg mentioned this pull request Aug 15, 2022
17 tasks
@davidrg davidrg deleted the ssh branch September 2, 2022 11:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ZLIB
1 participant