我需要将 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 虚拟机?
提示此错误是因为您在没有私钥的情况下连接到服务器,这是必需的。查看此站点:https ://docs.microsoft.com/en-us/azure/devops/repos/git/use-ssh-keys-to-authenticate?view=azure-devops&tabs=current-page并尝试上传您的生成一对密钥后的公钥。
您还可以通过 PowerShell 上的以下命令获得已建立的 TCP 连接,以确保 ssh 服务器的一切正常:
这似乎只是时间问题,因为设置现在在两个小时后通过密码身份验证工作。
在另一次尝试中,重新启动机器也有效。