生成和使用 SSH 密钥
IBM Power Virtual Server 于 IBM 数据中心
IBM Power Virtual Server 私有云 于 客户位置
创建新虚拟机 (VM) 时,可以为根用户登录设置一个或多个安全外壳 (SSH) 密钥。 密钥被加载到根目录下的 authorized_keys 文件中。 使用 SSH 密钥可以安全登录虚拟机。 必须使用可用的操作系统选项来创建 SSH 密钥。 例如,要在 Linux® 或 Mac OS 系统上生成 SSH 密钥,可以使用标准的 ssh-keygen
工具。
在此示例中,用户使用 ssh-keygen
工具在基于 Linux 的 IBM Cloud 计算实例上创建了公用密钥:
cat .ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtuQnQOc2k4zaGzE7b3xUMCjUy++s/9O9HE4fXSm7UNKoTY39zjQ8mhOwaA3HEo12tOdzdFDYHHWNOYufCcFFk61CAL6HyQGGClib1nFc1xUcgTI9Dee8zzaAsN8mIIr1CgbRELhvOsTv23U4QddpfjkcVoKfF0BAtxgauvooQdPZBoxa2rsD+BvcWnjglkYWG2aBbuzFvSl1fLMihjfej8w1lxbcsYEcJg2X96NJPLmLsEJ+XwoXfVuv0X4z8IoBzZ8UbyTlrDv73EAH34GViYfZFbrIaNnwnz/f/tuOKcINihH72YP+oZn9JeiHQ+hKpMqJAmOK2UIzYr3u+79n9 testkey
IBM® Power® Virtual Server 要在创建虚拟机操作中使用 SSH 密钥,必须首先使用 ibmcloud pi ssh-key create KEY_NAME --key KEY
命令将公钥添加到实例中。
要添加生成的公钥并使用 visibility
属性设置其作用域,请输入以下命令(用自己的公钥替换示例值):
要添加生成的公钥并通过 visibility
属性设置其访问 级别,请输入以下命令(用自己的公钥替换示例值):
要添加生成的公钥并使用 visibility
属性设置其可见性,请输入以下命令(用自己的公钥替换示例值):
ibmcloud pi ssh-key create testkey --key "ssh-rsa AAAAB3NzaC
1yc2EAAAADAQABAAABAQCtuQnQOc2k4zaGzE7b3xUMCjUy++s/9O9HE4fXSm7UNKoTY39zjQ8mhOwaA3HEo12tOdzdFDYHHWNOYufCcFFk61CAL6HyQGGClib1nFc1xUcgTI9Dee8zzaAsN8mIIr1CgbRELhvOsTv23U4QddpfjkcVoKfF0BAtxgauvooQdPZBoxa2rsD+BvcWnjglkYWG2aBbuzFvSl1fLMihjfej8w1lxbcsYEcJg2X96NJPLmLsEJ+XwoXfVuv0X4z8IoBzZ8UbyTlrDv73EAH34GViYfZFbrIaNnwnz/f/tuOKcINihH72YP+oZn9JeiHQ+hKpMqJAmOK2UIzYr3u+79n9 testkey" --visibility "account"
SSHKey created: testkey
要确认密钥已成功添加,请使用 ibmcloud pi ssh list
命令:
ibmcloud pi ssh list
Name Key Visibility CreationDate
testkey ssh-rsa AAAAB3NzaC1y...UIzYr3u+79n9 testkey account 2019-07-26T18:21:56.030Z
在 Power Virtual Server 工作区中设置 SSH 密钥的作用域
在 Power Virtual Server 工作区中,创建 SSH 密钥时,可以将 SSH 密钥的范围设置为 Workspace
或 Account
。 当把 SSH 密钥的作用域设置为 Workspace
时,SSH 密钥只能在创建它的工作区中使用,而不能在其他工作区中使用。 将 SSH 密钥的作用域设置为 Account
时,该账户下的所有工作区都可以使用 SSH 密钥。
不过,只能从创建密钥的工作区删除 SSH 密钥。 因此,SSH 密钥的安全性和私密性得到了提高。
完成以下步骤以创建和设置 SSH 密钥的范围:
- 打开工作区,从 Power Virtual Server 用户界面添加 SSH 密钥。
- 单击计算下的 SSH 密钥。 与工作区关联的 SSH 密钥列表显示在“SSH 密钥”页面上。
- 单击创建 SSH 密钥。 出现“新建 SSH 密钥”页面。
- 在密钥名称字段中输入唯一名称。
- 从访问设置部分选择以下选项之一来设置 SSH 密钥的范围:
- 工作区:SSH 密钥只在创建它的工作区中可见。
- 账户:账户中的所有工作区都能看到 SSH 密钥。 不过,只能从创建密钥的工作区删除 SSH 密钥。
- 在描述字段中输入 SSH 密钥的描述。
- 在“公钥”字段中输入 SSH 密钥。
- 单击添加 SSH 密钥。
SSH 密钥已创建并列在“SSH 密钥”页面的数据表中。 数据表中的访问设置列显示 SSH 密钥的范围为 Workspace
或 Account
。
创建 AIX VM 实例
您可以使用 Power Virtual Server CLI 或控制台,使用配置的 SSH 密钥创建 AIX VM 实例。 使用 AIX 库存映像作为引导卷时,不会设置 root 用户密码。 您必须连接到 AIX VM,并为系统设置 root 用户密码。 如果未完成此步骤,以根用户身份登录 SSH 将被禁用。 如果可以通过公共网络访问 AIX VM,则可以从私有云系统使用 telnet 并设置 root 密码。 更多信息,请参阅 IBM AIX V7.2 文档。
使用用户界面使用配置的 SSH 密钥创建 AIX 虚拟机
必须先生成公用 SSH 密钥,然后才能创建使用已配置 SSH 密钥的 AIX VM。
-
确保您拥有必要的账户权限和设备访问权限。 只有帐户所有者或具有管理用户经典基础架构许可权的用户才能调整许可权。 更多信息,请参阅 服务访问角色。
-
在 Power Virtual Server 用户界面的左侧导航中单击虚拟服务器实例。
-
单击创建实例。
-
在虚拟服务器部分,选择添加 SSH 密钥。
-
输入密钥名称和先前生成的公用密钥。
-
单击添加 SSH 密钥添加 SSH 密钥。
-
填写剩余字段以成功创建使用已配置 SSH 密钥的新实例。
使用 CLI 使用配置的 SSH 密钥创建 AIX 虚拟机
使用以下命令,将选项替换为自己的选项,就可以用公钥创建一个新虚拟机:
ibmcloud pi instance-create keytest-vm --image AIX-7200-03-03 --memory 5 --networks "cloud.ibm.com" --processors 1 --processor-type shared --key-name testkey
在本例中,ibmcloud pi instance-create
命令创建了一个新的 AIX 虚拟机,其 IP 地址为 172.16.7.16. 现在,可以从连接的系统通过 SSH 登录到 AIX VM,该系统已配置为使用 testkey
的专用密钥。
ssh root@172.16.7.16
Enter passphrase for key '/home/keytest/.ssh/id_rsa':
Last login: Fri Jul 26 16:53:22 CDT 2019 on ssh from 10.150.0.11
*******************************************************************************
* *
* *
* Welcome to AIX Version 7.2! *
* *
* *
* Please see the README file in /usr/lpp/bos for information pertinent to *
* this release of the AIX Operating System. *
* *
* *
*******************************************************************************
# oslevel -s
7200-03-03-1914
您可以在 testkey
authorized_keys** 文件中找到 ** 值:
cat .ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtuQnQOc2k4zaGzE7b3xUMCjUy++s/9O9HE4fXSm7UNKoTY39zjQ8mhOwaA3HEo12tOdzdFDYHHWNOYufCcFFk61CAL6HyQGGClib1nFc1xUcgTI9Dee8zzaAsN8mIIr1CgbRELhvOsTv23U4QddpfjkcVoKfF0BAtxgauvooQdPZBoxa2rsD+BvcWnjglkYWG2aBbuzFvSl1fLMihjfej8w1lxbcsYEcJg2X96NJPLmLsEJ+XwoXfVuv0X4z8IoBzZ8UbyTlrDv73EAH34GViYfZFbrIaNnwnz/f/tuOKcINihH72YP+oZn9JeiHQ+hKpMqJAmOK2UIzYr3u+79n9 testkey
调试连接
如果与虚拟机实例的 SSH 连接失败,请使用 ssh 命令的 -vvv
选项确定连接失败的原因。 -vvv
选项中每增加一个 verbose 标志,都会增加 ssh 客户端会话的冗长程度,并产生大量数据。 因此,使用脚本会话捕获 ssh 日志数据,这样日志数据也会发送到标准输出 (STDOUT)。
运行以下命令启动 SSH 客户端调试会话:
# /usr/bin/script /tmp/ssh.{host}.debug
# /usr/bin/ssh -vvv {hostname/IP_of_ssh_server}
结束 SSH 客户端调试会话后,按 Ctrl+D 或输入 exit 命令关闭脚本会话。
其他支持信息
有关不同用例的其他信息,请参阅以下支持页面: