簡體   English   中英

通過Java和環境變量進行SSH

[英]SSH via Java with Environment Variables

我正在編寫一個Java代碼,以使用java-ganymed插件連接到Unix遠程服務器(也已在JSch中嘗試過)。

    Connection conn = new Connection("host");
    conn.connect();
    boolean testAuth = conn.authenticateWithPassword("user", "pwd");
    Session sess = conn.openSession();
    sess.execCommand(Commands); //"Commands" is a string variable with "sh" command.

我需要運行位於遠程服務器上的shell腳本,該腳本使用該登錄名的一些環境變量。 我的登錄成功,腳本確實執行了但未完成。 與運行交互式登錄外殼(如Putty等)(使用'env'命令)相比,我檢查了環境變量是否未完全加載。

我嘗試在腳本之前運行/etc/profile、.bashrc等。 該腳本前進了一步,但又停止了。 因此很明顯,加載了一些環境變量,但不是全部。 我需要解決以確保為Java非交互式會話加載了所有環境變量。 我沒有遠程服務器的root權限。

謝謝,艾莉亞

與其嘗試運行/etc/profile.bashrc ,不如嘗試將它們用作源腳本。 作為腳本或命令的一部分執行此操作:

. .bashrc
. /etc/profile
. /etc/environment

或任何其他相關的配置腳本(文件開頭的點很重要)。

暫無
暫無

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

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