Replies: 4 comments 5 replies
-
|
This definitely highlights one of the difficulties with our current system of git submodules - lpcssh wants to be installed by copying include files into kernellib... :-/ Looks like lpcssh implements one each of key-exchange methods, host-key types and ciphers. That makes sense - OpenSSH is enormous and there's only one of Dworkin. But that means you'll need to specify those things when SSHing in. Once I copied the appropriate lpcssh files into place, I had to ssh in with this monstrosity: That's ssh'ing to the local machine on port 51100 (by default lpcssh uses the first listed binary port) with DGD's preferred key-exchange algorithm, host-key algorithm and cipher. That doesn't fix everything - I'm now getting "SSH:debug1: ASN.1 length octets exceed available data", which almost certainly means DGD is implementing something else in an outdated way, and needs either an LPC fix or an SSH command-line parameter to handle it appropriately... So: this definitely looks like it's pretty advanced for a first project. And unfortunately, it's advanced in a "system-admin trying to get ancient SSH protocols to work" way, not an educational LPC or DGD way... |
Beta Was this translation helpful? Give feedback.
-
|
Also, looks like actually generating a keypair as lpcssh suggests gives the error above, probably because the keypair has more bits than DGD is expecting (i.e. it's something resembling secure on a modern system, so it's using more bits than expected, possibly also exceeding eOS's current default array max length in the config file.) By using the supplied key, I instead get a bad packet length error, which could be for a number of reasons. But again, the solution, if it's possible, is almost certainly going to be about the ssh configuration rather than the LPC side. |
Beta Was this translation helpful? Give feedback.
-
|
Reading through that old Modifying doc (which I wrote a long, long time ago), it has definitely aged poorly :-/ Let me give you the upshot of it, up to the write_file(), translated to eOS.
For me, that works. I see the file eOS/log.txt and it contains "Successful initd.c test" as it should. With that said, I 200% understand why you've been having trouble with that doc. A lot of what it describes has changed or moved in the intervening (mumble) years. |
Beta Was this translation helpful? Give feedback.
-
|
So, the only System directory is in eOS/kernellib/src/usr Putting an initd.c in there didn't seem to help. Here's the full path: I restart eos and I can log in just fine. I exist. I can type 'users' and get a list of logins. However, I don't get the log file written anywhere. Literally, nowhere in the file system. Here's the code in initd.c: |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
So, I've got eOS working and am trying to figure out how to extend it.
In particular, I tried setting up the LPC SSH module: https://github.com/dworkin/lpcssh which suggests adding / modifying /usr/system/initd.c, but I couldn't get that to do anything.
I also tried walking through the directions at https://github.com/noahgibbs/phantasmal/blob/master/website/DGD/Kernel/Modifying.base.html but, again, couldn't get the basic "hello world" example to write a file.
Any suggestions?
-j
p.s. @ChristopherA suggested I ping @noahgibbs
Beta Was this translation helpful? Give feedback.
All reactions