TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

TinySSH is a small SSH server using NaCl, TweetNaCl

129 pointsby elasticdogabout 11 years ago

14 comments

hfabout 11 years ago
Outstanding! Not only are the slightly mysterious authors of this project not inventing their own crypto, they rely on djb&#x27;s[0] much acclaimed NaCL&#x2F;TweetNaCl. The codebase is accordingly small:<p><pre><code> $ wc -l source&#x2F;*&#x2F;*c | tail -n1 11308 total $ wc -l source&#x2F;crypto&#x2F;*c | tail -n1 1293 total </code></pre> The first line suggests a measure of total code ballast, whereas the second incantation might hint at the amount of core crypto code. The latter might be a good starting point for any auditing endeavours.<p>Incidentally, I am impressed by the spirit of organisation that the source tree permeates. Both crypto&#x2F; and tinyssh&#x2F; source trees sport corresponding -test directories and a debian&#x2F; tree has already been added.<p>Initially, I felt irritation by the consistent lack of documentation (no README, no AUTHORS, almost no comments, it seems). Browsing the source, however, I grow convinced that this from a conviction that out-dated or redundant documentation is the greater evil.<p>[0] Daniel J Bernstein - author of qmail, daemontools and long-time promoter of full disclosure. <a href="https://en.wikipedia.org/wiki/Daniel_J._Bernstein" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Daniel_J._Bernstein</a>
评论 #7729060 未加载
评论 #7729255 未加载
mhogomchunguabout 11 years ago
How is code like below &quot;easily auditable&quot;?<p><pre><code> keydir = *++argv; if (!keydir) die_usage(); </code></pre> or<p><pre><code> if (*x == &#x27;v&#x27;) { if (flagverbose &gt;= 2) flagverbose = 3; else flagverbose = 2; continue; } </code></pre> why put multiple statements on the same line if you have nothing to hide?[1]<p>[1] <a href="https://www.kernel.org/doc/Documentation/CodingStyle" rel="nofollow">https:&#x2F;&#x2F;www.kernel.org&#x2F;doc&#x2F;Documentation&#x2F;CodingStyle</a>
评论 #7728542 未加载
评论 #7728547 未加载
评论 #7729023 未加载
评论 #7728388 未加载
评论 #7728389 未加载
girvoabout 11 years ago
Curious as to whether something like this would be good for embedded work, as I&#x27;m working on a &quot;modern&quot; HP 200LX[0] running RetroBSD[1] possibly, all off a PIC micro controller (!) and want to work out how to get some form of SSH into it. Will be interesting to attempt to port it regardless of what happens though!<p>----<p>[0] <a href="http://en.wikipedia.org/wiki/HP_200LX" rel="nofollow">http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;HP_200LX</a><p>[1] <a href="http://retrobsd.org/wiki/doku.php" rel="nofollow">http:&#x2F;&#x2F;retrobsd.org&#x2F;wiki&#x2F;doku.php</a>
评论 #7728338 未加载
chronidabout 11 years ago
Someone know how it compares with dropbear [1]?<p>1. <a href="https://matt.ucc.asn.au/dropbear/dropbear.html" rel="nofollow">https:&#x2F;&#x2F;matt.ucc.asn.au&#x2F;dropbear&#x2F;dropbear.html</a>
exabrialabout 11 years ago
&gt; simple configuration - TinySSH can&#x27;t be misconfigured<p>CHALLENGE ACCEPTED!
akerl_about 11 years ago
Awesome! A few questions&#x2F;thoughts:<p>Right now, you&#x27;re suggesting it be downloaded via HTTP, which isn&#x27;t exactly the best way to get my secure daemons. Any chance you could move that to HTTPS?<p>Semi-related: any chance you&#x27;ll be making a repo available in some form? (I&#x27;m preferential to GitHub, but really anything that lets us follow source changes and open bug reports would rock)<p>I would love to see an audit of this by some 3rd party entity.<p>Glad to see folks working to build new tools from such solid building blocks!
sanxiynabout 11 years ago
I find use of TweetNaCl curious. For curve25519, why wouldn&#x27;t one use <a href="http://code.google.com/p/curve25519-donna/" rel="nofollow">http:&#x2F;&#x2F;code.google.com&#x2F;p&#x2F;curve25519-donna&#x2F;</a> instead?<p>djb&#x27;s <i>cryptography</i> is great, but djb&#x27;s <i>implementations</i> leave something to be desired.
评论 #7728243 未加载
评论 #7728241 未加载
nitrogenabout 11 years ago
Is TweetNaCl deliberately 32-bit or LLP64 only? One of the first lines is<p><pre><code> typedef unsigned long u32; </code></pre> but on 64-bit LP64 systems (like Linux), <i>long</i> is 64-bits.<p>See <a href="http://tweetnacl.cr.yp.to/20140427/tweetnacl.c" rel="nofollow">http:&#x2F;&#x2F;tweetnacl.cr.yp.to&#x2F;20140427&#x2F;tweetnacl.c</a>
评论 #7728590 未加载
评论 #7728594 未加载
评论 #7728057 未加载
tincoabout 11 years ago
What use is an sshd that doesn&#x27;t support SCP? I think to most people that is a core feature, I&#x27;d be surprised if it wasn&#x27;t a requirement for git for example.<p>It sounds like it&#x27;s small enough perhaps for a direct port to a safe language like rust, that would be interesting (to me at least).
评论 #7728735 未加载
评论 #7728397 未加载
评论 #7728624 未加载
评论 #7728561 未加载
invernomut0about 11 years ago
Rob Landley doesn&#x27;t seems to be too excited about it <a href="http://www.landley.net/notes.html#31-03-2014" rel="nofollow">http:&#x2F;&#x2F;www.landley.net&#x2F;notes.html#31-03-2014</a>
wolf550eabout 11 years ago
Which ssh clients can connect to this? For example, can putty connect to this?
评论 #7728299 未加载
friendlypedantabout 11 years ago
Every function name in tinyssh&#x2F;buf.c starts with an underscore...<p>To quote the standard:<p>&quot;All identifiers that begin with an underscore are always reserved for use as identifiers with file scope in both the ordinary and tag name spaces. ... If the program declares or defines an identifier in a context in which it is reserved (other than as allowed by 7.1.4), or defines a reserved identifier as a macro name, the behavior is undefined.&quot;<p>-- ISO&#x2F;IEC 9899:1999, Section 7.1.3 Reserved Identifiers
w4rh4wk5about 11 years ago
don&#x27;t we already have dropbear for such tasks, would it be better to &quot;extend&quot; &#x2F; &quot;improve&quot; dropbear?
beefhashabout 11 years ago
Daemontools and inetd? May I ask where the systemd socket activation support is?
评论 #7728257 未加载