azure - 使用 azure cli --generate-ssh-keys 存储在 Windows 中的自动生成的 SSH 密钥在哪里
问题描述
我正在尝试使用本地机器上的 azure cli 创建 linux VM。我可以使用以下命令创建虚拟机,但是现在当我想通过 ssh 进入虚拟机时,我需要在本地机器上拥有公钥吗?
如何获取所需的公钥以使用连接到 vm ssh azureuser@publicIpAddress
?生成的 ssh 密钥在哪里--generate-ssh-keys
以及如何获取?
az vm create \
--resource-group myResourceGroup \
--name myVM \
--image UbuntuLTS \
--admin-username azureuser \
--generate-ssh-keys
我使用具有提升权限的 PowerShell 7.0 来运行上述命令
解决了
更新1:
- 使用
--generate-ssh-keys
switch 时在 c:\users\.ssh\ 中生成 SSH 密钥 - 如果已经有文件名
id_rsa
&id_rsa.pub
那么它可能是冲突的,你可以使用另一个开关--ssh-key-values /path/to/public/key
来指定不同的文件名 - 之后,如果您收到
Permissions for 'private-key' are too open
错误,请按照此处提到的步骤操作
解决方案
来自MSDN--generate-ssh-keys
:_
如果丢失,生成 SSH 公钥和私钥文件。密钥将存储在 ~/.ssh 目录中。
如果目录不存在,默认情况下会在目录中创建一个私有id_rsa
和公共id_rsa.pub
SSH 密钥对。~/.ssh
如果您在该位置已经有现有的 SSH 密钥,它只会使用这些密钥而不覆盖它们。
在 Windows 上,这是C:\Users\username\.ssh
目录。
此外,您还可以使用以下命令传入特定的 SSH 公钥路径--ssh-key-values
:
az vm create \
--resource-group myResourceGroup \
--name myVM \
--image UbuntuLTS \
--admin-username azureuser \
--ssh-key-values /path/to/public/key
如果您在另一个位置使用ssh-keygen
.
正如@Ash在评论中指出的那样,您可以查看在部署期间自动生成密钥以获取更多信息。
推荐阅读
- python - PyCharm 变量资源管理器不显示带有空格的 pandas 列名
- ios - iOS 14 中的 UICollectionViewListCell 和自定义单元格附件
- javascript - JavaScript:打开列表中的第一个链接,等待然后打开下一个链接
- php - 更新数据库 laravel 中的价格列
- javascript - 努力在网页上显示 Fetch 请求
- python - 将远程 CSV 文件数据发布到 django 本地服务器问题
- c - 为什么我在 fread 上得到“分段错误”?
- java - 未创建带有 log4j 日志的文件
- javascript - 如何在我的应用程序中扩展背景图像以显示在页脚和导航栏中?
- html - 如何将不同的 HTML 部分显示为网站的不同页面