clj-commons / clj-ssh

SSH commands via jsch
234 stars 66 forks source link

Updates clj-ssh to latest JSch 0.2.9 #68

Closed tiagomlalves closed 1 year ago

tiagomlalves commented 1 year ago

Updates agent code for package and class name changes done in com.github.mwiede's JSch fork. Removes unncessary agentproxy dependencies that have been merged in that project and adds more modern jna and junixsocket libs. Bumps version to make it explicit this newer dependency.

Addresses https://github.com/clj-commons/clj-ssh/issues/62 Supersedes https://github.com/clj-commons/clj-ssh/pull/64

tiagomlalves commented 1 year ago

Test run log:

Performing task 'test' with profile(s): 'clojure-1.4.0'

lein test clj-ssh.cli-test
Jul 25, 2023 2:23:21 PM clojure.tools.logging$eval488$fn__491 invoke
WARNING: Passphrase required, but no keychain implemented.

lein test clj-ssh.ssh-test
Jul 25, 2023 2:23:43 PM clojure.tools.logging$eval488$fn__491 invoke
WARNING: Passphrase required, but no keychain implemented.
Jul 25, 2023 2:23:44 PM clojure.tools.logging$eval488$fn__491 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.
Jul 25, 2023 2:23:44 PM clojure.tools.logging$eval488$fn__491 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.
Jul 25, 2023 2:23:44 PM clojure.tools.logging$eval488$fn__491 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.

lein test clj-ssh.test-keys

lein test clj-ssh.test-utils

Ran 31 tests containing 211 assertions.
0 failures, 0 errors.
Performing task 'test' with profile(s): 'clojure-1.5.1'

lein test clj-ssh.cli-test
Jul 25, 2023 2:23:49 PM clojure.tools.logging$eval508$fn__511 invoke
WARNING: Passphrase required, but no keychain implemented.

lein test clj-ssh.ssh-test
Jul 25, 2023 2:24:11 PM clojure.tools.logging$eval508$fn__511 invoke
WARNING: Passphrase required, but no keychain implemented.
Jul 25, 2023 2:24:12 PM clojure.tools.logging$eval508$fn__511 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.
Jul 25, 2023 2:24:12 PM clojure.tools.logging$eval508$fn__511 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.

lein test clj-ssh.test-keys

lein test clj-ssh.test-utils

Ran 31 tests containing 211 assertions.
0 failures, 0 errors.
Performing task 'test' with profile(s): 'clojure-1.6.0'

lein test clj-ssh.cli-test
Jul 25, 2023 2:24:17 PM clojure.tools.logging$eval508$fn__511 invoke
WARNING: Passphrase required, but no keychain implemented.

lein test clj-ssh.ssh-test
Jul 25, 2023 2:24:34 PM clojure.tools.logging$eval508$fn__511 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.
Jul 25, 2023 2:24:34 PM clojure.tools.logging$eval508$fn__511 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.
Jul 25, 2023 2:24:34 PM clojure.tools.logging$eval508$fn__511 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.
Jul 25, 2023 2:24:38 PM clojure.tools.logging$eval508$fn__511 invoke
WARNING: Passphrase required, but no keychain implemented.

lein test clj-ssh.test-keys

lein test clj-ssh.test-utils

Ran 31 tests containing 211 assertions.
0 failures, 0 errors.
Performing task 'test' with profile(s): 'clojure-1.7.0'

lein test clj-ssh.cli-test
Jul 25, 2023 2:24:56 PM clojure.tools.logging$eval508$fn__511 invoke
WARNING: Passphrase required, but no keychain implemented.

lein test clj-ssh.ssh-test
Jul 25, 2023 2:25:02 PM clojure.tools.logging$eval508$fn__511 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.
Jul 25, 2023 2:25:02 PM clojure.tools.logging$eval508$fn__511 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.
Jul 25, 2023 2:25:05 PM clojure.tools.logging$eval508$fn__511 invoke
WARNING: Passphrase required, but no keychain implemented.

lein test clj-ssh.test-keys

lein test clj-ssh.test-utils

Ran 31 tests containing 211 assertions.
0 failures, 0 errors.
Performing task 'test' with profile(s): 'clojure-1.8.0'

lein test clj-ssh.cli-test
Jul 25, 2023 2:25:24 PM clojure.tools.logging$eval518$fn__521 invoke
WARNING: Passphrase required, but no keychain implemented.

lein test clj-ssh.ssh-test
Jul 25, 2023 2:25:29 PM clojure.tools.logging$eval518$fn__521 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.
Jul 25, 2023 2:25:33 PM clojure.tools.logging$eval518$fn__521 invoke
WARNING: Passphrase required, but no keychain implemented.

lein test clj-ssh.test-keys

lein test clj-ssh.test-utils

Ran 31 tests containing 211 assertions.
0 failures, 0 errors.
Performing task 'test' with profile(s): 'clojure-1.9.0'

lein test clj-ssh.cli-test
Jul 25, 2023 2:25:52 PM clojure.tools.logging$eval682$fn__685 invoke
WARNING: Passphrase required, but no keychain implemented.

lein test clj-ssh.ssh-test
Jul 25, 2023 2:25:58 PM clojure.tools.logging$eval682$fn__685 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.
Jul 25, 2023 2:25:58 PM clojure.tools.logging$eval682$fn__685 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.
Jul 25, 2023 2:26:01 PM clojure.tools.logging$eval682$fn__685 invoke
WARNING: Passphrase required, but no keychain implemented.

lein test clj-ssh.test-keys

lein test clj-ssh.test-utils

Ran 31 tests containing 211 assertions.
0 failures, 0 errors.
Performing task 'test' with profile(s): 'clojure-1.10.0'

lein test clj-ssh.cli-test
Jul 25, 2023 2:26:20 PM clojure.tools.logging$eval673$fn__676 invoke
WARNING: Passphrase required, but no keychain implemented.

lein test clj-ssh.ssh-test
Jul 25, 2023 2:26:26 PM clojure.tools.logging$eval673$fn__676 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.
Jul 25, 2023 2:26:26 PM clojure.tools.logging$eval673$fn__676 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.
Jul 25, 2023 2:26:29 PM clojure.tools.logging$eval673$fn__676 invoke
WARNING: Passphrase required, but no keychain implemented.

lein test clj-ssh.test-keys

lein test clj-ssh.test-utils

Ran 31 tests containing 211 assertions.
0 failures, 0 errors.
Performing task 'test' with profile(s): 'clojure-1.10.1'

lein test clj-ssh.cli-test
Jul 25, 2023 2:26:48 PM clojure.tools.logging$eval673$fn__676 invoke
WARNING: Passphrase required, but no keychain implemented.

lein test clj-ssh.ssh-test
Jul 25, 2023 2:26:55 PM clojure.tools.logging$eval673$fn__676 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.
Jul 25, 2023 2:26:55 PM clojure.tools.logging$eval673$fn__676 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.
Jul 25, 2023 2:26:58 PM clojure.tools.logging$eval673$fn__676 invoke
WARNING: Passphrase required, but no keychain implemented.

lein test clj-ssh.test-keys

lein test clj-ssh.test-utils

Ran 31 tests containing 211 assertions.
0 failures, 0 errors.
Performing task 'test' with profile(s): 'clojure-1.10.2'

lein test clj-ssh.cli-test
Jul 25, 2023 2:27:17 PM clojure.tools.logging$eval678$fn__681 invoke
WARNING: Passphrase required, but no keychain implemented.

lein test clj-ssh.ssh-test
Jul 25, 2023 2:27:23 PM clojure.tools.logging$eval678$fn__681 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.
Jul 25, 2023 2:27:23 PM clojure.tools.logging$eval678$fn__681 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.
Jul 25, 2023 2:27:26 PM clojure.tools.logging$eval678$fn__681 invoke
WARNING: Passphrase required, but no keychain implemented.

lein test clj-ssh.test-keys

lein test clj-ssh.test-utils

Ran 31 tests containing 211 assertions.
0 failures, 0 errors.
Performing task 'test' with profile(s): 'clojure-1.10.3'

lein test clj-ssh.cli-test
Jul 25, 2023 2:27:45 PM clojure.tools.logging$eval678$fn__681 invoke
WARNING: Passphrase required, but no keychain implemented.

lein test clj-ssh.ssh-test
Jul 25, 2023 2:27:51 PM clojure.tools.logging$eval678$fn__681 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.
Jul 25, 2023 2:27:51 PM clojure.tools.logging$eval678$fn__681 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.
Jul 25, 2023 2:27:54 PM clojure.tools.logging$eval678$fn__681 invoke
WARNING: Passphrase required, but no keychain implemented.

lein test clj-ssh.test-keys

lein test clj-ssh.test-utils

Ran 31 tests containing 211 assertions.
0 failures, 0 errors.
Performing task 'test' with profile(s): 'clojure-1.11.0'

lein test clj-ssh.cli-test
Jul 25, 2023 2:28:13 PM clojure.tools.logging$eval678$fn__681 invoke
WARNING: Passphrase required, but no keychain implemented.

lein test clj-ssh.ssh-test
Jul 25, 2023 2:28:19 PM clojure.tools.logging$eval678$fn__681 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.
Jul 25, 2023 2:28:19 PM clojure.tools.logging$eval678$fn__681 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.
Jul 25, 2023 2:28:23 PM clojure.tools.logging$eval678$fn__681 invoke
WARNING: Passphrase required, but no keychain implemented.

lein test clj-ssh.test-keys

lein test clj-ssh.test-utils

Ran 31 tests containing 211 assertions.
0 failures, 0 errors.
Performing task 'test' with profile(s): 'clojure-1.11.1'

lein test clj-ssh.cli-test
Jul 25, 2023 2:28:42 PM clojure.tools.logging$eval678$fn__681 invoke
WARNING: Passphrase required, but no keychain implemented.

lein test clj-ssh.ssh-test
Jul 25, 2023 2:28:48 PM clojure.tools.logging$eval678$fn__681 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.
Jul 25, 2023 2:28:48 PM clojure.tools.logging$eval678$fn__681 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.
Jul 25, 2023 2:28:48 PM clojure.tools.logging$eval678$fn__681 invoke
SEVERE: ChannelForwardedTCPIP: localhost:22222 is not registered.
Jul 25, 2023 2:28:51 PM clojure.tools.logging$eval678$fn__681 invoke
WARNING: Passphrase required, but no keychain implemented.

lein test clj-ssh.test-keys

lein test clj-ssh.test-utils

Ran 31 tests containing 211 assertions.
0 failures, 0 errors.
tiagomlalves commented 1 year ago

@slipset Hi, any chance to review this PR? I would be happy to address any required feedback to help in a new release of this project as our product depends on these changes.

slipset commented 1 year ago

Thanks for this, and sorry for the delay. Am on vacation right now, will try to release this when I get back, end of week.

If you have expertise in this area, I'd love some support with trying to make the tests run properly on Circle.

tiagomlalves commented 1 year ago

@slipset Thanks for merging the changes. I do have expertise with GitHub Actions and Jenkins. I have not yet tried CircleCI but shouldn't be that hard - I can look into that and post it here.

slipset commented 1 year ago

I don't think the issue is Circle related, but more on how the ssh-config is set up. I was a bit surprised to see the tests running on your box, as I seem to recall that I could not get them to run locally on my machine.

tiagomlalves commented 1 year ago

Issue seems to be that circleci/clojure:lein-2.7.1 image, based on Debian 9 (stretch), doesn't have openssh-server installed. Installing openssh-server in Debian 9 further requires changing the APT servers because the ones specified in the image no longer work. Also, it seems that circleci installs a default id_rsa image which is not the one we expect to generate.

In my box, I was using Ubuntu 20.04 having OpenSSH server running and a clean ~/.ssh directory. I've tried using a newer cimg/clojure:1.11-openjdk-8.0, based on Ubuntu 20.04, but I'm facing other issues and hence have not made significant progress :(

tiagomlalves commented 1 year ago

@slipset I've managed to run tests in CircleCI: https://github.com/clj-commons/clj-ssh/pull/69