我在 Azure 中有一台新的 Ubuntu 18 服务器。我正在使用 PowerShell(已安装 2018 SSH 客户端)。我也尝试过 Putty。在 PowerShell 和 Putty 中,我都输入了 ssh username@ipaddress,输入 yes 以接受,然后我得到了 Permission denied (publickey)。
我的 Azure 设置:无需密码即可登录,只需 Pub/Priv 密钥。我让 Azure 创建密钥,因此必须正确完成并存储。
我认为问题在于我没有正确关联存储在 Windows 10 计算机上的私钥。说实话,我从未尝试过关联它。我不知道该怎么做。使用 PowerShell 时我应该位于密钥所在的目录中吗?我从未在任何地方被提示输入私钥。
答案1
当您使用生成密钥对选项创建新的 VM 时,它应该下载到您的驱动器上(默认情况下在下载文件夹中)。然后,您需要在通过 ssh 连接时通过添加 -i 属性插入 privatekey.pem:
ssh -i keypair.pem [email protected]
#or
ssh -i C:\pathtofolder\keypair.pem [email protected]
但是如果你忘记或丢失了 Azure 的密钥对,你可以使用 puttygen 创建新的密钥对。完整指南可以在https://www.digitalocean.com/docs/droplets/how-to/add-ssh-keys/create-with-putty/
- 下载并打开 puttygen。单击生成并在空白区域随机移动鼠标,直到完成
- 在你的机器上保存私钥,并复制公钥
- 转到 Azure,选择您的 VM。在左侧菜单中,选择重置密码并使用公钥选项。然后粘贴您的公钥
4.它将创建新用户或更新现有用户 5.双击之前从 puttygen 保存的私钥,它将作为后台服务运行 6.现在您可以在不添加 -i 属性的情况下使用 ssh
答案2
假设你的公钥位于服务器上,请尝试
ssh -vvv 用户名@ip地址
了解有关拒绝许可的原因的更多详细信息。