本文整理汇总了Python中OSConf.update_sshkey方法的典型用法代码示例。如果您正苦于以下问题:Python OSConf.update_sshkey方法的具体用法?Python OSConf.update_sshkey怎么用?Python OSConf.update_sshkey使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OSConf
的用法示例。
在下文中一共展示了OSConf.update_sshkey方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: update_sshkey
# 需要导入模块: import OSConf [as 别名]
# 或者: from OSConf import update_sshkey [as 别名]
def update_sshkey(key_filepath="~/.ssh/id_rsa.pub", key_name="default", user_email=None, user_passwd=None, options=""):
'''Since there's no 'rhc sshkey update' now, this function is only used to make sure ssh key is correctly set'''
if user_email is None:
(user_email, user_passwd) = get_default_rhlogin()
ret = remove_sshkey(key_name, user_email, user_passwd)
if ret != 0:
print "Failed to remove key %s: %s" % (key_name, key_filepath)
ret = add_sshkey(key_filepath, key_name, user_email, user_passwd)
if ret == 0:
cmd = "ssh-keygen -lf %s" % (key_filepath)
(ret, output) = command_getstatusoutput(cmd, quiet=True)
try:
pattern = re.compile(r'\d+ ([\w:]+) .*\(([DR]SA)\)')
match_obj = pattern.search(output)
fingerprint = match_obj.group(1)
key_type = match_obj.group(2).lower()
OSConf.update_sshkey(key_name, key_type, fingerprint)
except:
print "Warning: Failed to update the ssh key stored in OSConf"
else:
print "Failed to add ssh key %s: %s" % (key_name, key_filepath)
return ret