Se connecter avec Ubuntu en ssh sur Windows

Résolu
xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   -  
 remote-win -

Bonjour,

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

  1. remote-win
     

    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.

    0
  2. remote-win
     

    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 utilisateurs

    Note : il n'y a pas de ssh_config dans le package téléchargé

    Bon courage.

    0
  3. remote-win
     

    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é.
     

    0