Ok, vì vậy tôi có Hudson (v1.393) đang chạy trong một máy ảo Ubuntu và mọi thứ hoạt động tốt. Tuy nhiên tôi đang cố gắng thêm một nô lệ Mac cho chủ Ubuntu và tôi đã chạy vào một vài vấn đề.Xác thực khóa SSH không thành công khi kết nối nô lệ Mac Hudson với máy chủ Linux
Tôi đã thiết lập khóa SSH sao cho từ dòng lệnh, máy ảo Ubuntu có thể ssh sử dụng khóa này thành người dùng có tên hudson trên máy Mac.
Trong cấu hình nô lệ Hudson, tôi có "Khởi chạy tác nhân phụ trên máy Unix qua SSH" đã chọn và đã nhập IP máy chủ, tên người dùng của người dùng trên slave và vị trí tệp khóa cá nhân của tôi trên máy chủ (mà đã được thêm vào tệp khóa được ủy quyền trên slave).
Tuy nhiên, chủ không thể kết nối với nô lệ. Nhìn vào nhật ký (bên dưới), nó đang cố xác thực bằng mật khẩu.
Đây có phải là sự thất bại cho nỗ lực SSH dựa trên khóa không thành công không?
Hudson có cố gắng xác thực bằng mật khẩu không và tôi có cần thay đổi thứ gì khác để sử dụng tệp khóa được xác định trong cấu hình không?
Có thể không khởi chạy các tác nhân nô lệ thông qua ssh trên máy mac? (Tôi biết tên của loại phương pháp nô lệ phóng explicity khẳng định Unix, nhưng tôi đã suy nghĩ (đọc: hy vọng) rằng nó sẽ làm việc với OS X quá)
Log
[01/14/11 10:38:07] [SSH] Opening SSH connection to 10.0.1.188:22.
[01/14/11 10:38:07] [SSH] Authenticating as hudson/******.
java.io.IOException: Password authentication failed.
at com.trilead.ssh2.auth.AuthenticationManager.authenticatePassword(AuthenticationManager.java:319)
at com.trilead.ssh2.Connection.authenticateWithPassword(Connection.java:314)
at hudson.plugins.sshslaves.SSHLauncher.openConnection(SSHLauncher.java:565)
at hudson.plugins.sshslaves.SSHLauncher.launch(SSHLauncher.java:179)
at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:184)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:636)
Caused by: java.io.IOException: Authentication method password not supported by the server at this stage.
at com.trilead.ssh2.auth.AuthenticationManager.authenticatePassword(AuthenticationManager.java:289)
... 9 more
[01/14/11 10:38:07] [SSH] Connection closed.
Nếu bất cứ ai đã quản lý để chinh phục kiểu thiết lập này trước đây, hoặc có bất kỳ lời khuyên hay ý tưởng nào, tôi sẽ rất biết ơn! Cảm ơn
Bạn đã thử không có khóa cá nhân và có mật khẩu? Kiểm tra xem nó có kết nối bằng phương thức đó không. – Sagar
Bạn đã thử kết nối với hộp OS X từ máy ảo với jsut ssh để xem liệu auth key có được bật không? Phiên bản Máy chủ hoặc Máy khách của hộp OS X có phải không? Bạn có để trống mật khẩu khi tạo khóa không? – prodigitalson
@Sagar: Chỉ cần thử sử dụng mật khẩu thay vì khóa. Không may mắn, cùng một thông điệp trong nhật ký. – mattbilson