如何在 Azure Windows VM 中启用 SSH?

如何在 Azure Windows VM 中启用 SSH?

我需要使用 Windows 机器来运行一个只能在 Windows 上运行的程序。我在 Azure 上设置了 Windows 10 虚拟机。在 Azure 门户的虚拟机上,在 下Connection,我可以看到 RDP 的详细信息,它与应用商店中的 Microsoft 远程桌面应用兼容。

我也想使用 SSH 连接。单击 RDP 旁边的该项目,我看到:

Ensure you have read-only access to the private key.
chmod 400 <name>.pem

没有任何迹象表明在哪里下载或上传该密钥。

我在 Azure 门户上打开了端口 22,如下所示这些方向,我还按照 PowerShell 部分安装了 OpenSSH Server这些方向,包括启动服务:

> Set-Service -Name sshd -StartupType 'Automatic'
> Get-NetFirewallRule -Name *ssh*

Name                  : OpenSSH-Server-In-TCP
DisplayName           : OpenSSH SSH Server (sshd)
Description           : Inbound rule for OpenSSH SSH Server (sshd)
DisplayGroup          : OpenSSH Server
Group                 : OpenSSH Server
Enabled               : True

从我的本地机器,SSH 到虚拟机的公共 IP 超时:

$ ssh user@<public-ip>
ssh: connect to host <public-ip> port 22: Operation timed out

我能够通过 SSH 进入其他虚拟机,因此我认为问题不在我的防火墙上。

如何通过 SSH 连接到 Windows 10 虚拟机?

答案1

出现此错误是因为您在没有私钥的情况下连接到服务器,这是必需的。看看这个网站:https://docs.microsoft.com/en-us/azure/devops/repos/git/use-ssh-keys-to-authenticate?view=azure-devops&tabs=current-page并在生成密钥对后尝试上传您的公钥。

您还可以通过 PowerShell 上的以下命令获取已建立的 TCP 连接,以确保 ssh 服务器一切正常:

获取 NetTCPConnection -状态已建立

答案2

这似乎只是时间问题,因为现在设置已经在两个小时后通过密码验证正常运行。

在另一次尝试中,重新启动机器也有效。

相关内容