簡體   English   中英

使用Java中的ssh2連接到由RSA SecurID保護的Linux系統

[英]Connect to a linux system secured by RSA SecurID using ssh2 in Java

我想創建一個從Windows系統到使用RSA令牌密碼進行身份驗證的Linux機器的連接,並且我想運行shell命令並從Java代碼獲取輸出。 使用膩子登錄該Linux系統時,請執行以下步驟:

  1. 輸入IP和端口並連接
  2. 在PuTTY終端輸入用戶名,詢問“登錄為:”
  3. 輸入PASSCODE,然后輸入RSA SecurID

我已經嘗試過使用Jsch軟件包進行連接,但無法連接。 我還嘗試了jcabi-sshhttp://ssh.jcabi.com/ ),它是Jsch的包裝。 他們似乎都不適合我。

編輯:我使用以下代碼使用Jsch

        String host = "xxx";
        String user = "xxx";
        String password;

        Scanner scanner = new Scanner (System.in);
        System.out.println("Enter rsa token: ");
        password = scanner.nextLine();

        Session session = jsch.getSession(user, host, 2222);
        session.setPassword(password);
        session.connect();

我收到以下錯誤:

com.jcraft.jsch.JSchException: UnknownHostKey: myservername. RSA key fingerprint is ba:2b:70:2f:4f:fa:f6:20:31:56:e0:e8:8b:16:46:c9

我找到了一個解決方案,有人說包括以下這段將StrictHostKeyChecking設置為“ no”的代碼:

    java.util.Properties config = new java.util.Properties(); 
    config.put("StrictHostKeyChecking", "no");
    session.setConfig(config);

然后我的錯誤更改為:

com.jcraft.jsch.JSchException: Auth cancel

嘗試使用其他jcabi-ssh實現可獲得類似的結果。

您正在尋找的是一個對話框,該對話框將在該時間點接受密碼並建立連接。 這是集成RSA SecureId所需要的-http: //www.jcraft.com/jsch/examples/UserAuthPubKey.java.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM