![](/img/trans.png)
[英]SSH password authentication in Java using jcraft JSch fails with "Auth fail" but command-line "ssh" works
[英]SSH Authentication Fail : Java JSCH
我的用戶需要根據他的Git存儲庫驗證他的私鑰。 它類似於任何DB Client工具中的“測試連接”按鈕。
我正在使用JSCH在Java中進行此驗證(我只需要使用SSH連接並告訴連接成功)。 下面是我的Java代碼
public class SSHConnect {
private String filePath = "c:\\me\\ssh-keys\\config_31_jan";
public static void main(String... args) {
new SSHConnect().invoke();
}
public void invoke () {
JSch jSch = new JSch();
try {
jSch.addIdentity(filePath);
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
Session session = jSch.getSession("MY_USER_NAME","github.my_company.com",22) ;
session.setConfig(config);
session.connect();
} catch (Exception e) {
e.printStackTrace();
}
}
我得到以下異常。
c:\me\ssh-keys\config_31_jan
com.jcraft.jsch.JSchException: Auth fail
at com.jcraft.jsch.Session.connect(Session.java:519)
at com.jcraft.jsch.Session.connect(Session.java:183)
at com.pcfdev.main.SSHConnect.invoke(SSHConnect.java:32)
at com.pcfdev.main.SSHConnect.main(SSHConnect.java:18)
我引用了所有其他SO論壇,給出的解決方案是在相應的服務器中添加公鑰。 我這樣做了,並且能夠使用我的SSH命令成功進行身份驗證 (如下所述)。 但是我無法使用JSCH實現相同的功能。 請幫忙
WGC1008Q5B8H2 MINGW64 /c/me/ssh-keys
$ ssh -i config_31_jan -T git@github.my_company.com
Hi ARUNK2/spring-cloudconfig! You've successfully authenticated, but GitHub does not provide shell access.
jSch.getSession("MY_USER_NAME","github.my_company.com",22) ;
這應該是:
jSch.getSession("git","github.my_company.com",22) ;
你想打開一個ssh連接作為git,而不是你。
然后,服務器端的公鑰將像您一樣對您進行身份驗證。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.