SSHKit::Runner::ExecuteError:以 root@<server>co 身份执行时出现异常:Jenkins Job 的 shell 脚本中的用户 root@<server> 身份验证失败

Iri*_*iya 2 capistrano continuous-deployment jenkins rvm-capistrano

我正在尝试从 Jenkins Job 运行 cap 部署命令。它不断抛出以下错误。我也在部署服务器中添加了 ssh 密钥。我能够从配置 Jenkins 的服务器成功部署。但是当我运行该作业时,会引发身份验证错误。这对我来说真的很重要。有人可以帮忙吗?

Started by user admin
Running as SYSTEM
Building in workspace /var/lib/jenkins/workspace/TBuildJob
[TBuildJob] $ /bin/bash -l /tmp/jenkins16881638870572548750.sh
Deploying Job has started
Script executed from: /var/lib/jenkins/workspace/TBuildJob
jenkins

jenkins
** Invoke dev1 (first_time)
** Execute dev1
** Invoke load:defaults (first_time)
** Execute load:defaults
** Invoke rvm:hook (first_time)
** Execute rvm:hook
** Invoke rvm:check (first_time)
** Execute rvm:check
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing as root@<server>: Authentication failed for user root@<server>
/usr/local/rvm/gems/ruby-2.3.1/gems/sshkit-1.15.1/lib/sshkit/runners/parallel.rb:15:in `rescue in block (2 levels) in execute'
/usr/local/rvm/gems/ruby-2.3.1/gems/sshkit-1.15.1/lib/sshkit/runners/parallel.rb:11:in `block (2 levels) in execute'
Net::SSH::AuthenticationFailed: Authentication failed for user root@<server>
/usr/local/rvm/gems/ruby-2.3.1/gems/net-ssh-4.2.0/lib/net/ssh.rb:254:in `start'
/usr/local/rvm/gems/ruby-2.3.1/gems/sshkit-1.15.1/lib/sshkit/backends/connection_pool.rb:59:in `call'
/usr/local/rvm/gems/ruby-2.3.1/gems/sshkit-1.15.1/lib/sshkit/backends/connection_pool.rb:59:in `with'
/usr/local/rvm/gems/ruby-2.3.1/gems/sshkit-1.15.1/lib/sshkit/backends/netssh.rb:176:in `with_ssh'
/usr/local/rvm/gems/ruby-2.3.1/gems/sshkit-1.15.1/lib/sshkit/backends/netssh.rb:129:in `execute_command'
/usr/local/rvm/gems/ruby-2.3.1/gems/sshkit-1.15.1/lib/sshkit/backends/abstract.rb:141:in `block in create_command_and_execute'
/usr/local/rvm/gems/ruby-2.3.1/gems/sshkit-1.15.1/lib/sshkit/backends/abstract.rb:141:in `tap'
/usr/local/rvm/gems/ruby-2.3.1/gems/sshkit-1.15.1/lib/sshkit/backends/abstract.rb:141:in `create_command_and_execute'
/usr/local/rvm/gems/ruby-2.3.1/gems/sshkit-1.15.1/lib/sshkit/backends/abstract.rb:60:in `capture'
/usr/local/rvm/gems/ruby-2.3.1/gems/capistrano-rvm-0.1.2/lib/capistrano/tasks/rvm.rake:9:in `block (3 levels) in <top (required)>'
/usr/local/rvm/gems/ruby-2.3.1/gems/sshkit-1.15.1/lib/sshkit/backends/abstract.rb:29:in `instance_exec'
/usr/local/rvm/gems/ruby-2.3.1/gems/sshkit-1.15.1/lib/sshkit/backends/abstract.rb:29:in `run'
/usr/local/rvm/gems/ruby-2.3.1/gems/sshkit-1.15.1/lib/sshkit/runners/parallel.rb:12:in `block (2 levels) in execute'
Tasks: TOP => rvm:check
Build step 'Execute shell' marked build as failure
Finished: FAILURE
Run Code Online (Sandbox Code Playgroud)

ask*_*kov 5

我在 ubuntu 22.04 服务器上使用 Capistrano 进行部署时遇到了类似的问题。\n登录到服务器,然后尝试部署。\n检查日志。

\n
$ journalctl -t sshd -b0\n\nJun 10 04:30:17 xxxx sshd[664]: Server listening on 0.0.0.0 port 22.\nJun 10 04:30:17 xxxx sshd[664]: Server listening on :: port 22.\nJun 10 04:30:17 xxxx sshd[665]: Accepted publickey for ubuntu from xx.xx.xx.xx port 46072 ssh2: RSA SHA256:XXXX\nJun 10 04:30:17 xxxx sshd[665]: pam_unix(sshd:session): session opened for user xxxx(uid=1000) by (uid=0)\nJun 10 04:30:32 xxxx sshd[944]: userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]\nJun 10 04:30:32 xxxx sshd[944]: Connection closed by authenticating user ubuntu xx.xx.xx.xx port 46074 [preauth]\n
Run Code Online (Sandbox Code Playgroud)\n

更改您的 sshd_config。

\n
$ sudo nano -l  /etc/ssh/sshd_config\n
Run Code Online (Sandbox Code Playgroud)\n

\xd0\xb0dd 行

\n
PubkeyAuthentication yes\nPubkeyAcceptedKeyTypes=+ssh-rsa\n
Run Code Online (Sandbox Code Playgroud)\n

重新启动 sshd 守护进程

\n
sudo systemctl restart ssh.service\n
Run Code Online (Sandbox Code Playgroud)\n

干杯!

\n

这对我有用,但稍后需要更改公钥。

\n
$ ssh-keygen -o -a 100 -t ed25519 -f ~/.ssh/id_ed25519 -C "comment"\n$ ssh-keygen -t rsa-sha2-256 -b 4096 -f ~/.ssh/id_rsa2_256 -C "comment"\n$ ssh-keygen -t rsa-sha2-512 -b 4096 -f ~/.ssh/id_rsa2_512 -C "comment"\n
Run Code Online (Sandbox Code Playgroud)\n

很好的讨论https://bbs.archlinux.org/viewtopic.php?id=270005

\n