Se connecter avec Ubuntu en ssh sur Windows
RésoluBonjour,
Je voudrais savoir si il est possible avec un PC Ubuntu de se connecter en ssh ou autre sur un poste avec Microsoft Windows uniquement.
Genre :
ssh utilisateur@adresse_IP -p 22
Merci d'avance pour vos avis et conseils.
4 réponses
-
Oui, c'est possible, je le fais couramment vers Windows 7 et Windows 10.
Voir
https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse
Note : c'est galère à configurer les permissions pour les clés ssh pour l'utilisateur Windows cible.
Bon courage.
-
Merci
Lien en français
Pourriez vous me communiquer openssh pour windows 7
Merci.
-
Ci-après l'intégralité de mes notes :
OpenSSH sur Windows 7
https://github.com/PowerShell/Win32-OpenSSH/releases
(version v7.9.0.0p1-Beta)
ou
https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH#install-win32-openssh-test-release- mettre en place les clés client et serveur
- décompresser OpenSSH-Win64.zip en "\Program Files\OpenSSH" ou en \Windows\System32\OpenSSH
Attention : ne pas utiliser le unzip maison qui fait des chmod. Par exemple
passer par lharc et laisser faire les héritages de permissions.
- en administrateur lancer
powershell -ExecutionPolicy Bypass -File install-sshd.ps1
- autoriser les connexions entrantes ssh sur port 22 Control Panel >
System and Security > Windows Firewall> Advanced Settings >
Inbound Rules and add a new rule for port 22.
(ne pas désigner un programme ou un service)
- activer le service en mode permanent
Control Panel > System and Security > Administrative Tools > Services
rechercher la ligne "OpenSSH SSH Service"
dans les propriétés, mettre "Startup type" en "Automatic"
puis "Start"- corriger les permissions
powershell -ExecutionPolicy Bypass -File FixHostFilePermissions.ps1
(répondre "y" à chaque fois, et relancer pour vérifier)
powershell -ExecutionPolicy Bypass -File FixUserFilePermissions.ps1
- les utilisateurs autorisés doivent être mis en
c:\ProgramData\administrators_authorized_keys
et ce fichier doit être possédé par system sans droits aux autres utilisateursNote : il n'y a pas de ssh_config dans le package téléchargé
Bon courage.
-
Pendant que j'y suis, mes notes pour Windows 10
Installation sur la base win10 1809
- Installer Openssh server (Apps, optional apps)
- en PowerShell, comme administrateur
- Mettre les clés serveur en c:\ProgramData\ssh
les fichiers Linux peuvent être réutilisés sans changer les fins de lignes.
- Important : les clés doivent appartenir à System en rwx, avec aucun
autre droit. Cela peut être mis par icacls (sur une clé, puis recopier) :
icacls .\ssh_host_dsa_key /setowner system
icacls .\ssh_host_dsa_key /remove otheruser
get-acl .\ssh_host_dsa_key | Set-Acl ssh_host*key
vérifier aucune référence utilisateur par :
icacls .\ssh_host_dsa_key
- Lancer le serveur. Les échecs peuvent être dus aux permissions sur les clés.
Les clés présentes sont réutilisées et un fichier sshd_config est créé.
Start-Service sshd
- Pour un lancement automatique ultérieurement :
Set-Service -Name sshd -StartupType 'Automatic'
- Vérifier que le port 22 a été ouvert :
Get-NetFirewallRule -Name *ssh*
# There should be a firewall rule named "OpenSSH-Server-In-TCP",
# which should be enabled
- Pour autoriser l'accès à un compte utilisateur :
- Créer un répertoire .ssh sous le compte (permissions 700)
- Y mettre un fichier de clés autorisées authorized_keys (permissions 444)
(il n'est pas nécessaire d'avoir des fins de ligne de type Windows "\r\n")
- Pour corriger les permissions :
icacls .\users\thisuser\.ssh\authorized_keys /inheritance:r
icacls .\users\thisuser\.ssh\authorized_keys /remove [otherusers]
- Pour vérifier les permissions (pas de référence à d'autres utilisateurs)
icacls .\users\thisuser\.ssh\authorized_keys
- Le fichier ssh_config se met dans le compte utilisateur (.ssh)
avec les mêmes restrictions pour les permissions
- En standard, les clés publiques pour les administrateurs, doivent être
mises dans un fichier administrators_authorized_keys en \ProgramData\ssh
Pour ce fichier il ne doit pas avoir d'héritage et en accès limité aux
system et admin
icacls administrators_authorized_keys
administrators_authorized_keys BUILTIN\Administrators:(F)
NT AUTHORITY\SYSTEM:(F)
Pour corriger :
icacls administrators_authorized_keys /inheritance:r
icacls administrators_authorized_keys /grant SYSTEM:F
icacls administrators_authorized_keys /grant BUILTIN\Administrators:F
Note : il vaut mieux faire les /grant en premier pour ne pas être bloqué
- On peut aussi mettre les clés en \Users\[login]\.ssh\authorized_keys
sous réserve d'avoir supprimé la référence à administrators_authorized_keys
dans sshd_config. Dans ce cas l'accès à authorized_keys peut être
autorisé à l'utilisateur concerné.