2017-09-14 61 views
1

我正嘗試使用libssh(https://www.libssh.org/)與安裝了SUSE Enterprise操作系統的計算機建立連接。使用libssh連接到SUSE

ssh_options_set(tempSshSession, SSH_OPTIONS_HOST, host2Connect); 
    ssh_options_set(tempSshSession, SSH_OPTIONS_LOG_VERBOSITY, &verbosity); 
    ssh_options_set(tempSshSession, SSH_OPTIONS_PORT, &port); 

    int rc = ssh_connect(tempSshSession); 
    if(rc != SSH_OK) { 
     printf("Error connecting to the localhost\n"); 
     exit(-1); 
    } 
    // Authorized by the password. 
    rc = ssh_userauth_password(tempSshSession, username, password); 

ssh_userauth_password後()調用返回的響應: 「SSH_AUTH_DENIED:驗證失敗:使用另一種方法

它工作正常的操作系統,如:Ubuntu的,通用的Linux和CentOS。

謝謝

+0

這是一個非常誘人的問題。 https://stackoverflow.com/help/how-to-ask。我只能投下惡意和粗心大意。我給你帶來懷疑的好處。但抱緊別人不會那麼善良。 –

+0

用戶名是'root'嗎? –

+1

當它在其他系統上工作時,它看起來像是一個sshd配置錯誤(至少不同)。你可以檢查配置嗎?你可以建立一個沒有程序的連接? – xyious

回答

0

檢查/etc/ssh/sshd_config。你應該在那裏找到PermitRootLogin forced-command-only。將其設置爲yes,您的問題應該消失。請記住,有一個原因,爲什麼人們決定不允許每個默認的root用戶/密碼登錄。

+1

在我測試過的所有其他服務器上,我也使用root作爲用戶 –

+0

這些配置設置偏離了分發到分發和管理員到管理員 –