Je dois utiliser une machine Windows pour un programme qui fonctionne uniquement sur Windows. J'ai configuré une machine virtuelle Windows 10 sur Azure. Sur le portail Azure, sur la machine virtuelle, sous Connection
, je vois les détails du RDP et cela fonctionne avec l'application Microsoft Remote Desktop dans l'App Store.
Je veux aussi connecter avec SSH. En cliquant sur cet élément à côté de RDP, je vois:
Ensure you have read-only access to the private key.
chmod 400 <name>.pem
sans indication de l'endroit où télécharger ou télécharger cette clé.
J'ai ouvert le port 22 sur le portail Azure suivant ces instructions , et j'ai également installé OpenSSH Server après la section PowerShell de - ces instructions , y compris le démarrage du service:
> 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
Depuis ma machine locale, le SSH fois sur l'IP publique de la machine virtuelle:
$ ssh user@<public-ip>
ssh: connect to Host <public-ip> port 22: Operation timed out
Je suis capable de ssh dans d'autres machines virtuelles, alors je ne pense pas que mon pare-feu soit le problème.
Comment puis-je me connecter à une machine virtuelle Windows 10 sur SSH?
Cela semblait seulement une question de temps, car la configuration fonctionne maintenant deux heures plus tard avec l'authentification par mot de passe.
Sur un autre essai, le redémarrage de la machine a également fonctionné.
Cette erreur a été invite car vous vous connectez au serveur sans clé privée, c'est-à-dire une exigence. Regardez ce site: https://docs.microsoft.com/en-us/azure/devops/repos/git/use-ssh-kesys-a-authenticite?view=AZURE-DEVOPS&tabs=Currrent-page Et essayez de télécharger votre clé publique après avoir généré une paire de touches.
Vous pouvez également obtenir les connexions établies TCP== pour vous assurer que tout avec SSH Server est OK, par cette commande sur PowerShell:
Get-nettcpconnection -State établi