Windows RPC 访问被拒绝,即使 RPC_C_AUTHN_NONE
Windows RPC access denied even with RPC_C_AUTHN_NONE
我在尝试将我的 RPC 客户端连接到我的 RPC 服务器时出现此错误:
Error occurred:5
一些谷歌搜索告诉我这个错误的含义:access denied
。
问题不在于防火墙。
这里是服务器部分,这里我指定RPC_C_AUTHN_NONE让大家连接:
RPC_STATUS status;
printf("RPC Server Starting...\n");
status = RpcServerUseProtseqEp(
(unsigned char *)"ncacn_ip_tcp",
RPC_C_PROTSEQ_MAX_REQS_DEFAULT,
(unsigned char *)"9191",
RPC_C_AUTHN_NONE);
if (status) { printf("Error:%d\n", status); exit(status); }
printf("RPC Server Configured\n");
这是引发错误的客户端部分:
RpcTryExcept {
unsigned char szMsg[] = "Client: I can RPC now!\n";
md5(szMsg);
} RpcExcept(1) {
printf("Error occurred:%d\n", RpcExceptionCode());
}
RpcEndExcept
如何更正此问题,以便让任何 RPC 客户端连接?
同样,您知道 Windows RPC 身份验证的 RPC 文档吗?
非常感谢!
我花了一些时间弄清楚为什么会这样,我在找到解决方案时提供这个答案,以帮助那些可能遇到此问题的人:
默认情况下,RPC 连接仅授予经过身份验证的客户端。这可以通过编辑注册表项或应用 GPO 来禁用对未经身份验证的用户的限制来更改,如指定 here。
我在尝试将我的 RPC 客户端连接到我的 RPC 服务器时出现此错误:
Error occurred:5
一些谷歌搜索告诉我这个错误的含义:access denied
。
问题不在于防火墙。
这里是服务器部分,这里我指定RPC_C_AUTHN_NONE让大家连接:
RPC_STATUS status;
printf("RPC Server Starting...\n");
status = RpcServerUseProtseqEp(
(unsigned char *)"ncacn_ip_tcp",
RPC_C_PROTSEQ_MAX_REQS_DEFAULT,
(unsigned char *)"9191",
RPC_C_AUTHN_NONE);
if (status) { printf("Error:%d\n", status); exit(status); }
printf("RPC Server Configured\n");
这是引发错误的客户端部分:
RpcTryExcept {
unsigned char szMsg[] = "Client: I can RPC now!\n";
md5(szMsg);
} RpcExcept(1) {
printf("Error occurred:%d\n", RpcExceptionCode());
}
RpcEndExcept
如何更正此问题,以便让任何 RPC 客户端连接?
同样,您知道 Windows RPC 身份验证的 RPC 文档吗?
非常感谢!
我花了一些时间弄清楚为什么会这样,我在找到解决方案时提供这个答案,以帮助那些可能遇到此问题的人:
默认情况下,RPC 连接仅授予经过身份验证的客户端。这可以通过编辑注册表项或应用 GPO 来禁用对未经身份验证的用户的限制来更改,如指定 here。