我需要使用 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
这似乎只是时间问题,因为现在设置已经在两个小时后通过密码验证正常运行。
在另一次尝试中,重新启动机器也有效。