jenkinsci / publish-over-ssh-plugin

https://plugins.jenkins.io/publish-over-ssh/
115 stars 150 forks source link

Add ssh server does not work with aws pem file #264

Open naisargparmar opened 2 years ago

naisargparmar commented 2 years ago

Jenkins and plugins versions report

Environment ```text Jenkins: 2.346.3 OS: Linux - 5.15.0-1017-aws --- ace-editor:1.1 ant:475.vf34069fef73c antisamy-markup-formatter:2.7 apache-httpcomponents-client-4-api:4.5.13-138.v4e7d9a_7b_a_e61 aws-java-sdk-minimal:1.12.246-349.v96b_b_f7eb_a_c3c bootstrap5-api:5.2.0-1 bouncycastle-api:2.26 branch-api:2.1046.v0ca_37783ecc5 build-timeout:1.21 caffeine-api:2.9.3-65.v6a_47d0f4d1fe checks-api:1.7.5 cloudbees-folder:6.740.ve4f4ffa_dea_54 command-launcher:84.v4a_97f2027398 config-file-provider:3.11.1 copyartifact:1.47 credentials:1139.veb_9579fca_33b_ credentials-binding:523.vd859a_4b_122e6 display-url-api:2.3.6 durable-task:500.v8927d9fd99d8 echarts-api:5.3.3-1 email-ext:2.91 font-awesome-api:6.1.2-1 git:4.11.4 git-client:3.11.2 github:1.34.5 github-api:1.303-400.v35c2d8258028 github-branch-source:1677.v731f745ea_0cf gradle:1.39.4 handlebars:3.0.8 jackson2-api:2.13.3-285.vc03c0256d517 jakarta-activation-api:2.0.1-1 jakarta-mail-api:2.0.1-1 javadoc:226.v71211feb_e7e9 javax-activation-api:1.2.0-4 javax-mail-api:1.6.2-7 jaxb:2.3.6-1 jdk-tool:55.v1b_32b_6ca_f9ca jjwt-api:0.11.5-77.v646c772fddb_0 jquery3-api:3.6.0-4 jsch:0.1.55.61.va_e9ee26616e7 junit:1119.1121.vc43d0fc45561 ldap:2.11 mailer:435.v79ef3972b_5c7 matrix-auth:3.1.5 matrix-project:772.v494f19991984 maven-plugin:3.19 mina-sshd-api-common:2.8.0-36.v8e25ce90d4b_1 mina-sshd-api-core:2.8.0-36.v8e25ce90d4b_1 momentjs:1.1.1 nodejs:1.5.1 okhttp-api:4.9.3-108.v0feda04578cf pam-auth:1.10 pipeline-build-step:2.18 pipeline-github-lib:38.v445716ea_edda_ pipeline-graph-analysis:195.v5812d95a_a_2f9 pipeline-groovy-lib:612.v84da_9c54906d pipeline-input-step:449.v77f0e8b_845c4 pipeline-milestone-step:101.vd572fef9d926 pipeline-model-api:2.2114.v2654ca_721309 pipeline-model-definition:2.2114.v2654ca_721309 pipeline-model-extensions:2.2114.v2654ca_721309 pipeline-rest-api:2.24 pipeline-stage-step:293.v200037eefcd5 pipeline-stage-tags-metadata:2.2114.v2654ca_721309 pipeline-stage-view:2.24 plain-credentials:139.ved2b_9cf7587b plugin-util-api:2.17.0 popper2-api:2.11.5-2 publish-over:0.22 publish-over-ssh:1.24 resource-disposer:0.19 s3:0.12.1 scm-api:621.vda_a_b_055e58f7 script-security:1175.v4b_d517d6db_f0 snakeyaml-api:1.30.2-76.vc104f7ce9870 ssh-credentials:295.vced876c18eb_4 ssh-slaves:1.834.v622da_57f702c sshd:3.242.va_db_9da_b_26a_c3 structs:324.va_f5d6774f3a_d timestamper:1.18 token-macro:308.v4f2b_ed62b_b_16 trilead-api:1.67.vc3938a_35172f variant:59.vf075fe829ccb workflow-aggregator:590.v6a_d052e5a_a_b_5 workflow-api:1192.v2d0deb_19d212 workflow-basic-steps:991.v43d80fea_ff66 workflow-cps:2759.v87459c4eea_ca_ workflow-durable-task-step:1199.v02b_9244f8064 workflow-job:1207.ve6191ff089f8 workflow-multibranch:716.vc692a_e52371b_ workflow-scm-step:400.v6b_89a_1317c9a_ workflow-step-api:639.v6eca_cd8c04a_a_ workflow-support:838.va_3a_087b_4055b ws-cleanup:0.42 ```

What Operating System are you using (both controller, and any agents involved in the problem)?

No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.1 LTS Release: 22.04 Codename: jammy

Reproduction steps

  1. Goto http://jenkins.aws-ms.mhcasia.net/configure
  2. Under ssh server, add ssh server detail. like name, hostname, username
  3. Check "Use password authentication, or use a different key"
  4. Under key, paste aws pem file key content
  5. Click on Test Configuration button

Expected Results

Connection should be established with Success message

Actual Results

jenkins.plugins.publish_over.BapPublisherException: Failed to connect and initialize SSH connection. Message: [Failed to connect session for config [VPC-MHC-Apiserver1-dev-1a]. Message [Auth fail]]

Anything else?

No response

abs2310 commented 2 years ago

Jenkins [Jenkins 2.361.1] hosted on Ubuntu 22 in AWS is able to send files over SSH to Ubuntu 18 and 20 using pem files. But Jenkins hosted on Ubuntu 22 is unable to send files over SSH to Ubuntu 22. Whenyou ssh into Jenkins server and try to manually do ssh or scp it works but from Jenkins Post Build action task it fails.

abs2310 commented 2 years ago

Starting with Ubuntu 22 "ssh client in Ubuntu 22.04 with the RSA public-private key pair is considered not safe any more." I referred to https://askubuntu.com/questions/1409105/ubuntu-22-04-ssh-the-rsa-key-isnt-working-since-upgrading-from-20-04 and added PubkeyAcceptedKeyTypes +ssh-rsa to /etc/ssh/sshd_config and restarted sshd service using "sudo systemctl restart sshd" This resolved the publish over ssh issue.

yutaolian commented 1 year ago

i fix this bug you can see this pr https://github.com/jenkinsci/publish-over-ssh-plugin/pull/273 or you can modify you code and build you release jar