Red Hat Network を使用してシステムを更新しようとすると、"Error Class Code: 9 Error Class Info: Invalid System Credentials" と表示される理由
Environment
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 5
- Red Hat Enterprise Linux 4
Issue
-
システムを更新または登録すると、以下のエラーが表示されます。
Error Class Code:9 Error Class Info:Invalid System Credentials.
Resolution
- このエラーを解決するには、RHN で現在のシステムプロファイルを削除して、システムを再登録します。これにより、新しいシステムプロファイルとシステム ID をアップデートできるようになります。再登録プロセスの詳細な手順については、How to re-register my system with Red Hat Network (RHN)? を参照してください。
Root Cause
-
システムの SystemID (
/etc/sysconfig/rhn/systemid) と、RHN ホストの SystemID が一致しない場合にこのエラーが発生します。この場合、RHN ホストがシステムを認識しないため、システムはアップデートを受けとることができません。RHN は、登録しているシステムに対するプロファイルを保持します。すべてのシステムは ServerID に基づいて識別されます。そのため、RHN 上の SystemID を、"/etc/sysconfig/rhn/systemid" ファイルに記載されている SystemID と一致させる必要があります。 -
システムを再インストールすると、システム ID が RHN に保存されているサーバー ID とは異なる ID となります。RHN には古いシステムに対するプロファイルが存在しているため、新しくインストールしたシステムが RHN の認証情報と一致しなくなります。次のコマンドを使用してシステム ID を確認することができます。
# grep ID /etc/sysconfig/rhn/systemid
Diagnostic Steps
-
これで、現在のシステムのサーバー ID と RHN アカウントに登録したシステムのサーバー ID を比較することができます。上のコマンドの結果は以下のようになります。
# grep ID /etc/sysconfig/rhn/systemid <value><string>ID-100100000</string></value> -
RHN のシステム ID を使用してシステムを検索する方法は、以下の手順を行ってください。
-
RHN にログインします。
-
Advanced Search に移動します。
-
検索テキストボックスに systemID を入力します。
- "Field to Search:" オプションで "ID" を選択します。
5.検索ボタンをクリックします。
以下のトレースバックも確認できました。
[root@~] # yum install httpd
Loaded plugins: product-id, rhnplugin, rhui-lb, security
There was an error communicating with RHN.
RHN Satellite or RHN Classic support will be disabled.
Error Message:
Please run rhn_register as root on this client
Error Class Code:9
Error Class Info:Invalid System Credentials.
Explanation:
An error has occurred while processing your request.If this problem
persists please enter a bug report at bugzilla.redhat.com.
If you choose to submit the bug report, please be sure to include
details of what you were trying to do when this error occurred and
details on how to reproduce this problem.
Traceback (most recent call last):
File "/usr/bin/yum", line 29, in ?
yummain.user_main(sys.argv[1:], exit_code=True)
File "/usr/share/yum-cli/yummain.py", line 309, in user_main
errcode = main(args)
File "/usr/share/yum-cli/yummain.py", line 178, in main
result, resultmsgs = base.doCommands()
File "/usr/share/yum-cli/cli.py", line 345, in doCommands
self._getTs(needTsRemove)
File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 101, in _getTs
self._getTsInfo(remove_only)
File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 112, in _getTsInfo
pkgSack = self.pkgSack
File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 662, in <lambda>
pkgSack = property(fget=lambda self: self._getSacks(),
File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 502, in _getSacks
self.repos.populateSack(which=repos)
File "/usr/lib/python2.4/site-packages/yum/repos.py", line 260, in populateSack
sack.populate(repo, mdtype, callback, cacheonly)
File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 168, in populate
if self._check_db_version(repo, mydbtype):
File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 226, in _check_db_version
return repo._check_db_version(mdtype)
File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 1226, in _check_db_version
repoXML = self.repoXML
File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 1399, in <lambda>
repoXML = property(fget=lambda self: self._getRepoXML(),
File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 1391, in _getRepoXML
self._loadRepoXML(text=self)
File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 1381, in _loadRepoXML
return self._groupLoadRepoXML(text, ["primary"])
File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 1365, in _groupLoadRepoXML
if self._commonLoadRepoXML(text):
File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 1201, in _commonLoadRepoXML
result = self._getFileRepoXML(local, text)
File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 974, in _getFileRepoXML
cache=self.http_caching == 'all')
File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 805, in _getFile
result = self.grab.urlgrab(misc.to_utf8(relative), local,
File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 511, in <lambda>
grab = property(lambda self: self._getgrab())
File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 506, in _getgrab
self._setupGrab()
File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 482, in _setupGrab
self._grab = mgclass(self._grabfunc, self.urls,
File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 686, in <lambda>
urls = property(fget=lambda self: self._geturls(),
File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 683, in _geturls
self._baseurlSetup()
File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 619, in _baseurlSetup
mirrorurls.extend(self._getMirrorList())
File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 1630, in _getMirrorList
fo = urlgrabber.grabber.urlopen(url, **ugopts)
File "/usr/lib/python2.4/site-packages/urlgrabber/grabber.py", line 612, in urlopen
return default_grabber.urlopen(url, **kwargs)
File "/usr/lib/python2.4/site-packages/urlgrabber/grabber.py", line 893, in urlopen
return self._retry(opts, retryfunc, url)
File "/usr/lib/python2.4/site-packages/urlgrabber/grabber.py", line 854, in _retry
r = apply(func, (opts,) + args, {})
File "/usr/lib/python2.4/site-packages/urlgrabber/grabber.py", line 892, in retryfunc
return URLGrabberFileObject(url, filename=None, opts=opts)
File "/usr/lib/python2.4/site-packages/urlgrabber/grabber.py", line 1010, in __init__
self._do_open()
File "/usr/lib/python2.4/site-packages/urlgrabber/grabber.py", line 1093, in _do_open
fo, hdr = self._make_request(req, opener)
File "/usr/lib/python2.4/site-packages/urlgrabber/grabber.py", line 1202, in _make_request
fo = opener.open(req)
File "/usr/lib64/python2.4/urllib2.py", line 358, in open
response = self._open(req, data)
File "/usr/lib64/python2.4/urllib2.py", line 376, in _open
'_open', req)
File "/usr/lib64/python2.4/urllib2.py", line 337, in _call_chain
result = func(*args)
File "/usr/lib64/python2.4/site-packages/M2Crypto/m2urllib2.py", line 82, in https_open
h.request(req.get_method(), req.get_selector(), req.data, headers)
File "/usr/lib64/python2.4/httplib.py", line 810, in request
self._send_request(method, url, body, headers)
File "/usr/lib64/python2.4/httplib.py", line 833, in _send_request
self.endheaders()
File "/usr/lib64/python2.4/httplib.py", line 804, in endheaders
self._send_output()
File "/usr/lib64/python2.4/httplib.py", line 685, in _send_output
self.send(msg)
File "/usr/lib64/python2.4/httplib.py", line 652, in send
self.connect()
File "/usr/lib64/python2.4/site-packages/M2Crypto/httpslib.py", line 55, in connect
sock.connect((self.host, self.port))
File "/usr/lib64/python2.4/site-packages/M2Crypto/SSL/Connection.py", line 174, in connect
ret = self.connect_ssl()
File "/usr/lib64/python2.4/site-packages/M2Crypto/SSL/Connection.py", line 167, in connect_ssl
return m2.ssl_connect(self.ssl, self._timeout)
M2Crypto.SSL.SSLError: certificate verify failed
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
