Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
34 lines (29 sloc) 1.07 KB
(cond-expand
(chicken-5
(import minissh nrepl tweetnacl (chicken tcp) (chicken port) srfi-18))
(else (use minissh nrepl tweetnacl)))
;; the default /dev/random causes hangs
(current-entropy-port (open-input-file "/dev/urandom"))
;; the secret key would normally be kept safe
(define host-pk
"AAAAC3NzaC1lZDI1NTE5AAAAIIfd+rbtTF2hJJbnnbQxtp2UVrUWkQtnsT8CL9iLpZBZ")
(define host-sk
#${ba72291c15494ee02003b3c0bb0f8507a6a803850aa811d015b141a193e2447d
87ddfab6ed4c5da12496e79db431b69d9456b516910b67b13f022fd88ba59059})
(print "test with: ssh localhost -p 22022 repl # any user, any password")
(ssh-server-start
host-pk host-sk
(lambda (ssh)
(eval `(set! ssh ',ssh))
(userauth-accept ssh password: (lambda _ #t) publickey: (lambda _ #t))
(tcp-read-timeout #f)
(port-for-each
(lambda (ch)
(thread-start!
(lambda ()
(with-channel-ports*
ch (lambda ()
(print "try ssh, (ssh-user ssh), (ssh-user-pk ssh)"
" or (kexinit-start ssh)")
(nrepl-loop))))))
(lambda () (channel-accept ssh)))))