clj-commons / clj-ssh

SSH commands via jsch
231 stars 66 forks source link

ssh-agent causing #48

Open bilus opened 8 years ago

bilus commented 8 years ago

I'm running this on OS/X El Capitan.

The code is simple:

(ssh/ssh-agent {})

It causes:

2. Unhandled com.jcraft.jsch.JSchException
   fromBase64: invalid base64 data

                 Util.java:   63  com.jcraft.jsch.Util/fromBase64
           KnownHosts.java:  218  com.jcraft.jsch.KnownHosts/setKnownHosts
           KnownHosts.java:   54  com.jcraft.jsch.KnownHosts/setKnownHosts
                 JSch.java:  317  com.jcraft.jsch.JSch/setKnownHosts
                   ssh.clj:  151  clj-ssh.ssh/ssh-agent/fn
                   ssh.clj:  150  clj-ssh.ssh/ssh-agent
                      REPL:   22  node.upload.sftp/eval61527
             Compiler.java: 6782  clojure.lang.Compiler/eval
             Compiler.java: 6745  clojure.lang.Compiler/eval
                  core.clj: 3081  clojure.core/eval
                  main.clj:  240  clojure.main/repl/read-eval-print/fn
                  main.clj:  240  clojure.main/repl/read-eval-print
                  main.clj:  258  clojure.main/repl/fn
                  main.clj:  258  clojure.main/repl
               RestFn.java: 1523  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   87  clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn
                  AFn.java:  152  clojure.lang.AFn/applyToHelper
                  AFn.java:  144  clojure.lang.AFn/applyTo
                  core.clj:  630  clojure.core/apply
                  core.clj: 1868  clojure.core/with-bindings*
               RestFn.java:  425  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   85  clojure.tools.nrepl.middleware.interruptible-eval/evaluate
    interruptible_eval.clj:  222  clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn
    interruptible_eval.clj:  190  clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn
                  AFn.java:   22  clojure.lang.AFn/run
   ThreadPoolExecutor.java: 1142  java.util.concurrent.ThreadPoolExecutor/runWorker
   ThreadPoolExecutor.java:  617  java.util.concurrent.ThreadPoolExecutor$Worker/run
               Thread.java:  745  java.lang.Thread/run

1. Caused by java.lang.ArrayIndexOutOfBoundsException
   399

                 Util.java:   54  com.jcraft.jsch.Util/fromBase64
           KnownHosts.java:  218  com.jcraft.jsch.KnownHosts/setKnownHosts
           KnownHosts.java:   54  com.jcraft.jsch.KnownHosts/setKnownHosts
                 JSch.java:  317  com.jcraft.jsch.JSch/setKnownHosts
                   ssh.clj:  151  clj-ssh.ssh/ssh-agent/fn
                   ssh.clj:  150  clj-ssh.ssh/ssh-agent
                      REPL:   22  node.upload.sftp/eval61527
             Compiler.java: 6782  clojure.lang.Compiler/eval
             Compiler.java: 6745  clojure.lang.Compiler/eval
                  core.clj: 3081  clojure.core/eval
                  main.clj:  240  clojure.main/repl/read-eval-print/fn
                  main.clj:  240  clojure.main/repl/read-eval-print
                  main.clj:  258  clojure.main/repl/fn
                  main.clj:  258  clojure.main/repl
               RestFn.java: 1523  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   87  clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn
                  AFn.java:  152  clojure.lang.AFn/applyToHelper
                  AFn.java:  144  clojure.lang.AFn/applyTo
                  core.clj:  630  clojure.core/apply
                  core.clj: 1868  clojure.core/with-bindings*
               RestFn.java:  425  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   85  clojure.tools.nrepl.middleware.interruptible-eval/evaluate
    interruptible_eval.clj:  222  clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn
    interruptible_eval.clj:  190  clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn
                  AFn.java:   22  clojure.lang.AFn/run
   ThreadPoolExecutor.java: 1142  java.util.concurrent.ThreadPoolExecutor/runWorker
   ThreadPoolExecutor.java:  617  java.util.concurrent.ThreadPoolExecutor$Worker/run
               Thread.java:  745  java.lang.Thread/run

How do I go round diagnosing the problem? Thank you so much!

UPDATE: It seems to have something to do with the contents of known_hosts (it's not been tampered and SSH works).

jianghongb commented 6 years ago

so how do you fix this one?