Tôi muốn ssh vào một máy chủ từ phía sau một máy chủ ssh. Máy chủ cổng yêu cầu tên người dùng/mật khẩu và tôi có thể thực hiện việc này. Tôi đang sử dụng đường hầm để vào máy chủ tiếp theo, nhưng yêu cầu này chỉ yêu cầu chỉ khóa ssh. Tôi đã tạo khóa thông qua PuTTY, vì vậy nó tồn tại cho tên người dùng của tôi nhưng tôi không chắc chắn làm thế nào để lấy nó cho chương trình Java của tôi. Nó là một cấu hình? tức là setConfig ("userauth.publickey", "com.jcraft.jsch.UserAuthPublicKey") thì làm cách nào để sử dụng cái này hay cái gì khác? Tài liệu dường như thưa thớt và tôi đánh giá cao bất kỳ sự trợ giúp nào. Bất kỳ điều gì tôi đã thử cung cấp cho tôi lỗi: "Xác thực không thành công" khi tôi kết nối phiên nàyJSch: Làm thế nào để ssh vào một máy chủ bằng cách sử dụng ssh-keys
Cảm ơn!
Phương pháp đường hầm tôi sử dụng là: http://sourceforge.net/apps/mediawiki/jsch/index.php?title=ProxySSH vì vậy, nhờ có người đã viết nó!
Đối với ngữ cảnh, tôi muốn đọc/ghi vào máy chủ tại trường học của mình từ điện thoại Android của tôi.
Vì SSH thứ hai không có tên người dùng, tôi nên sử dụng thông tin gì cho trường đó khi khởi tạo phiên? Một chuỗi rỗng hoặc null? tức là jsch.getSession (WHAT_GOES_HERE ?, tên máy chủ, 22); – Choobs
Tôi tiếp tục gặp lỗi Auth Fail. Tôi có id_rsa và id_rsa.pub được lưu trữ cục bộ và tôi đã sử dụng PuTTYgen để xuất dưới dạng khóa OpenSSH, sau đó sử dụng nó trong addIdentity (...). Tui bỏ lỡ điều gì vậy? Trên máy chủ đầu tiên có tệp /.ssh/authorized_keys, là bản sao của id_rsa.pub, nếu có liên quan. – Choobs
Bạn * luôn * cần tên người dùng cho SSH - bạn không thể đăng nhập vào máy chủ mà không có điều này. (Sau khi tất cả, các lệnh được gửi sau đó phải được thực hiện trong một số tài khoản người dùng cục bộ.) Và '.Tệp ssh/authorized_keys' (chứa các khóa công cộng được phép đăng nhập) phải nằm trong thư mục chính của người dùng mà bạn muốn đăng nhập. –