0
我想用java連接到具有兩步驗證登錄的Linux服務器。我使用的jsch庫,這是到目前爲止,我已經得到了代碼:使用JSCH庫的兩步驗證
session = jsch.getSession(username, ip);
Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.setPassword(password);
session.connect();
System.out.println("Connected to " + ip);
顯然,當我運行此腳本,因爲我還沒有進入認證密鑰我得到一個「驗證失敗」的錯誤。那麼,如何使用驗證密鑰登錄?如果這是不可能的,有人可能會建議一個具有此功能的庫。
這是使用putty登錄到服務器。所以你輸入用戶名,然後輸入基於時間的生成代碼,然後輸入密碼。
你能夠使用命令行ssh工具登錄到該主機?請運行ssh登錄到此服務器,幷包含'-vvv'選項以使ssh輸出調試信息。然後編輯你的問題,包括你運行的ssh命令和它產生的輸出。這將有助於人們知道如何進行額外的驗證。 – Kenster
這是不可能的,因爲額外的驗證是基於時間的,所以將一個祕密字符串傳遞給一個java方法,然後返回驗證第二部分的密鑰。 –
我建議的要點是瞭解如何通過ssh協議完成驗證步驟。 – Kenster