Tôi đang cố gắng thêm một tác nhân jenkins chạy Rocky Linux 8.
Làm cách nào để định cấu hình tác nhân jenkins để cho phép kết nối ssh từ bộ điều khiển jenkins qua mật khẩu?
Tôi đã thực hiện các bước sau trên tác nhân mới:
- cài đặt máy chủ openssh
- tạo người dùng với mật khẩu tôi muốn sử dụng
- tạo khóa ssh
- xác thực mật khẩu được bật theo mặc định tại /etc/sshd/sshd_config
Trên bộ điều khiển jenkins, tôi đã định cấu hình nút thành:
- khởi chạy đại lý qua SSH
- có thông tin đăng nhập khớp với người dùng được định cấu hình trong tác nhân jenkins
Tôi gặp lỗi sau khi khởi chạy tác nhân từ jenkins-web-UI:
LỖI: Lỗi không mong muốn khi cố gắng xác thực là jenkins-slave với credential=some-ID-111d-222e-33c44fg7h556
java.io.IOException: Xác thực mật khẩu không thành công.
tại com.trilead.ssh2.auth.AuthenticationManager.authenticatePassword(AuthenticationManager.java:404)
tại com.trilead.ssh2.Connection.authenticateWithPassword(Connection.java:340)
tại com.cloudbees.jenkins.plugins.sshcredentials.impl.TrileadSSHPasswordAuthenticator.doAuthenticate(TrileadSSHPasswordAuthenticator.java:115)
tại com.cloudbees.jenkins.plugins.sshcredentials.SSHAuthenticator.authenticate(SSHAuthenticator.java:431)
tại com.cloudbees.jenkins.plugins.sshcredentials.SSHAuthenticator.authenticate(SSHAuthenticator.java:468)
tại hudson.plugins.sshslaves.SSHLauncher.openConnection(SSHLauncher.java:886)
tại hudson.plugins.sshslaves.SSHLauncher$1.call(SSHLauncher.java:434)
tại hudson.plugins.sshslaves.SSHLauncher$1.call(SSHLauncher.java:421)
tại java.util.concurrent.FutureTask.run(FutureTask.java:266)
tại java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
tại java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
tại java.lang.Thread.run(Thread.java:748)
Gây ra bởi: java.io.IOException: Kết nối bị đóng.
tại com.trilead.ssh2.auth.AuthenticationManager.deQueue(AuthenticationManager.java:72)
tại com.trilead.ssh2.auth.AuthenticationManager.getNextMessage(AuthenticationManager.java:100)
tại com.trilead.ssh2.auth.AuthenticationManager.authenticatePassword(AuthenticationManager.java:379)
... 11 nữa
Gây ra bởi: java.io.IOException: Không thể đọc toàn bộ khối, đã đạt đến EOF.
tại com.trilead.ssh2.crypto.cipher.CipherInputStream.getBlock(CipherInputStream.java:81)
tại com.trilead.ssh2.crypto.cipher.CipherInputStream.read(CipherInputStream.java:108)
tại com.trilead.ssh2.transport.TransportConnection.receiveMessage(TransportConnection.java:232)
tại com.trilead.ssh2.transport.TransportManager.receiveLoop(TransportManager.java:706)
tại com.trilead.ssh2.transport.TransportManager$1.run(TransportManager.java:502)
... 1 chi tiết
Bất kỳ ý tưởng tại sao nó thất bại?
CHỈNH SỬA
tôi thấy rằng dưới /etc/pam.d/sshd
có dòng phiên bắt buộc pam_nologin.so
. Khi tôi thay đổi điều đó thành không bắt buộc
Tôi có thể đăng nhập qua ssh với người dùng không phải root.