从服务器返回错误的 HTTP 响应。代码 500
Bad HTTP response returned from the server. Code 500
我在 linux 上使用 pywinrm 获取 PowerShell 会话时遇到问题。
我在网站上阅读了几篇关于此的帖子和问题。但是任何可以解决我的问题的方法。
Kerberos 验证错误。这是我的 krb5.conf:
0 [libdefaults]
1 default_realm = DOMAIN.COM.BR
2 ticket_lifetime = 24000
3 clock-skew = 300
4 dns_lookup_kdc = true
5
6 # [realms]
7 # LABCORP.CAIXA.GOV.BR = {
8 # kdc = DOMAIN.COM.BR
9 # kdc = DOMAIN.COM.BR
10 # admin_server = DOMAIN.COM.BR
11 # default_domain = DOMAIN.COM.BR
12 # }
13
14 [logging]
15
16 default = FILE:/var/log/krb5libs.log
17 kdc = FILE:/var/log/krb5kdc.log
18 admin_server = FILE:/var/log/kadmind.log
19
20 # [domain_realm]
21 # .DOMAIN.COM.BR = DOMAIN.COM.BR
22 # server.com = DOMAIN.COM.BR
我的 /etc/resolv.conf 是:
search DOMAIN.COM.BR
nameserver IP
我的 python 代码是:
import winrm
s = winrm.Session(
'DOMAIN.COM.BR ',
'transport='kerberos',
auth=('my_active_directory_user', 'my_active_directory_password'),
server_cert_validation='ignore')
r = s.run_cmd('ipconfig', ['/all'])
而服务器return出现这个错误:
winrm.exceptions.WinRMTransportError: ('http', 'Bad HTTP response returned from server. Code 500')
服务器端口已打开。我用 nmap 看到:
5985/tcp open wsman
我可以 ping 并解析服务器名称:
$ ping DOMAIN.COM.BR
PING DOMAIN.COM.BR (IP) 56(84) bytes of data.
64 bytes from IP: icmp_seq=2 ttl=127 time=0.410 ms
64 bytes from IP: icmp_seq=2 ttl=127 time=0.410 ms
我可以毫无问题地使用 kinit 来获取票证:
$ kinit my_active_directory_user@DOMAIN.COM.BR
然后,列出工单:
$ klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: my_active_directory_user@DOMAIN.COM.BR
Valid starting Expires Service principal
05-09-2017 10:23:52 05-09-2017 17:03:50 krbtgt/DOMAIN.COM.BR @DOMAIN.COM.BR
这是什么问题?
其他解决方案是在 krb5.conf
文件中添加带有 allow_weak_crypto
的这一行:
[libdefaults]
***
allow_weak_crypto = true
***
我在 linux 上使用 pywinrm 获取 PowerShell 会话时遇到问题。 我在网站上阅读了几篇关于此的帖子和问题。但是任何可以解决我的问题的方法。
Kerberos 验证错误。这是我的 krb5.conf:
0 [libdefaults]
1 default_realm = DOMAIN.COM.BR
2 ticket_lifetime = 24000
3 clock-skew = 300
4 dns_lookup_kdc = true
5
6 # [realms]
7 # LABCORP.CAIXA.GOV.BR = {
8 # kdc = DOMAIN.COM.BR
9 # kdc = DOMAIN.COM.BR
10 # admin_server = DOMAIN.COM.BR
11 # default_domain = DOMAIN.COM.BR
12 # }
13
14 [logging]
15
16 default = FILE:/var/log/krb5libs.log
17 kdc = FILE:/var/log/krb5kdc.log
18 admin_server = FILE:/var/log/kadmind.log
19
20 # [domain_realm]
21 # .DOMAIN.COM.BR = DOMAIN.COM.BR
22 # server.com = DOMAIN.COM.BR
我的 /etc/resolv.conf 是:
search DOMAIN.COM.BR
nameserver IP
我的 python 代码是:
import winrm
s = winrm.Session(
'DOMAIN.COM.BR ',
'transport='kerberos',
auth=('my_active_directory_user', 'my_active_directory_password'),
server_cert_validation='ignore')
r = s.run_cmd('ipconfig', ['/all'])
而服务器return出现这个错误:
winrm.exceptions.WinRMTransportError: ('http', 'Bad HTTP response returned from server. Code 500')
服务器端口已打开。我用 nmap 看到:
5985/tcp open wsman
我可以 ping 并解析服务器名称:
$ ping DOMAIN.COM.BR
PING DOMAIN.COM.BR (IP) 56(84) bytes of data.
64 bytes from IP: icmp_seq=2 ttl=127 time=0.410 ms
64 bytes from IP: icmp_seq=2 ttl=127 time=0.410 ms
我可以毫无问题地使用 kinit 来获取票证:
$ kinit my_active_directory_user@DOMAIN.COM.BR
然后,列出工单:
$ klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: my_active_directory_user@DOMAIN.COM.BR
Valid starting Expires Service principal
05-09-2017 10:23:52 05-09-2017 17:03:50 krbtgt/DOMAIN.COM.BR @DOMAIN.COM.BR
这是什么问题?
其他解决方案是在 krb5.conf
文件中添加带有 allow_weak_crypto
的这一行:
[libdefaults]
***
allow_weak_crypto = true
***