top | item 15829206

Sshtalk: An SSH-based chat made in assembler

96 points| mabynogy | 8 years ago |2ton.com.au | reply

35 comments

order
[+] ajross|8 years ago|reply
Seems cute. Might be a fun gadget to host on a Pi or whatnot.

> Hand-written in x86_64 assembly language

Oh.

Not sure if cross-internet capable communication tools constitutes the "worst" example of hand written assembly, exactly, but... yeah, it has to be up there. I'm sure it was fun to hack, though.

[+] srett|8 years ago|reply
The only thing really worse there is that the number of people who could audit the code is much smaller. That guy wrote a whole SSL library in assember, so he probably didn't just finish some assembler tutorial and decided this was a good first lil project.

Assember is usually just considered bad/dangerous by people who have no clue about it and consider it something magical. It's not. At least not significantly more dangerous than C, which is still the language the most fundamental components of everyday computing are based on.

[+] megous|8 years ago|reply
Run it on qemu on Pi? Qemu can run individual binaries.
[+] NickBusey|8 years ago|reply
I love how you can SSH to a server and be presented with a login / registration screen. I would love to adapt this for use with an open source project I'm making, but don't think I have the fortitude for assembly. Anyone have any tips on how something like this is achievable using a more modern/approachable tooling stack?
[+] steventhedev|8 years ago|reply
If golang is your thing, take a look at this[0] or that[1]. You can probably find similar ones with some quick research.

The neat part is that you can easily pull down someone's github keys and automatically authenticate them against that identity. You can follow up with an email/password registration as a backup identity provider, if you really want to push the envelope (and save the public key for future automatic authentication).

Of course, if you're just looking to hack something together quickly, you can simply force a specific command to be run.

[0]: https://github.com/shazow/ssh-chat [1]: https://github.com/gliderlabs/ssh

[+] kpcyrd|8 years ago|reply
If you want to do this the traditional way, you would setup a user, then properly secure it (you might end up becoming a proxy) and then set a ForceCommand. After that, verify your config works, then set the password for that user to an empty password. After that, allow empty passwords on your ssh config so you can ssh to this user without any authentication.

This is how eg anoncvs works. After that point, it's just a matter of writing the application you want to run, with stdio being connected to your user.

[+] warent|8 years ago|reply
Well I think I was banned from the server 2ton.com.au. Not sure why but it was fun while it lasted. sshtalk is a pretty cool utility!
[+] oliv__|8 years ago|reply
This whole conversation was getting a little out of hand, maybe the admin banned all users in the room?
[+] 2ton_jeff|8 years ago|reply
Definitely not banned, sshtalk kakked itself under the HN glow (that and I left it open in a terminal window here and had an insane number of tiled chats open, might have a bug in there too)
[+] jasonjayr|8 years ago|reply
A growing number of users are showing up in the room named "hn", if you want to see it with multiple users ...
[+] oliv__|8 years ago|reply
Was fun while it lasted...

> ssh: connect to host 2ton.com.au port 22: Connection refused

[+] exabrial|8 years ago|reply
anyone have a server setup anywhere?

EDIT: RTFA "ssh 2ton.com.au" EDIT AGAIN: Anyone have a room name to join?

[+] icebraining|8 years ago|reply
I had to run "ssh -oCiphers=+aes256-cbc 2ton.com.au", seems like it's disabled by default in my version (OpenSSH_7.6p1 Debian-2).