Se connecter avec Ubuntu en ssh sur Windows

Résolu

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