我正在使用libssh库从Windows 7与远程Linux机器(Centos 7)通信。
在连接到远程Linux机器时,以下代码段可以正常工作。
ssh_options_set(my_ssh_session, SSH_OPTIONS_HOST, "10.230.21.40");
ssh_options_set(my_ssh_session, SSH_OPTIONS_USER, "testforest\\someuser");
int rc = ssh_connect(my_ssh_session);
char* password = "somepassword";
rc = ssh_userauth_password(my_ssh_session, NULL, password);
请注意,“ testforest”是Active Directory域,“ someuser”是域用户。
如果我按以下方式使用“ root”用户,则上述代码段也可以使用
ssh_options_set(my_ssh_session, SSH_OPTIONS_USER, "root");
但是当我尝试如下使用本地用户(root或任何其他本地用户)时,它不起作用
ssh_options_set(my_ssh_session, SSH_OPTIONS_USER, "hostname\\root");
在这种情况下,身份验证失败,并显示“访问被拒绝”。 即使我使用“ IP \ root”,它仍然无法工作
任何人都可以帮助您确定问题所在。 我必须在应用程序中使用“主机名\用户”格式。